2014-12-25 1 views
1

CakePHP 프로젝트에서 bake 동안 모델 사이에 가능한 모든 연결을 넣었습니다. 이제 코드를 정리하고 필요하지 않은 코드를 삭제하려고합니다. 그러나 다른 한편으로는 실수로 사용중인 것을 삭제하면됩니다. , 수정되어야하는 새로운 오류가 발생할 수 있습니까?CakePHP - 정의 된 연결이 사용되지 않을 경우 성능에 영향을 줍니까?

그래서, 나는 그것이 belongsTo, hasMany 또는 hasAndBelongsToMany인지, 난 항상 Containable를 사용하여 각 쿼리하고 있음을 고려하고, 어떤 방법으로 효과 성능이 작업을 수행, 모델 사이에 정의 된 어떤 연관성이있는 경우 질문입니다, 내가 지정 정확한 모델과 필드가 필요합니까?

답변

1

전혀 아님. 이 때문에 실제로 문제가 발생했습니다.

Cake는 현재 모델과 관련된 모델을 즉시로드합니다.

는 예를 가지고 : 당신이 트렁크 모델로 작업하는 가정 Trunk hasMany Branch hasMany Leaf

을, 케이크는 트렁크와 지점 모델을로드합니다. 모델을로드하는 경우 데이터베이스를 호출 한 다음 캐싱됩니다. ->find 호출 범위를 벗어난 데이터베이스는 검색되지 않습니다.

이로 인해 문제가 발생했습니다. 하나의 양식이 있고 Trunk, Branch 및 Leaf를 모두 한 번에 추가하려는 경우 formHelper는 모델이로드되지 않아서 Leaf의 필드 형식을 알 수 없습니다. 이 경우 모델을 수동으로로드하려면 $this->loadModel을 사용하십시오.

+0

실제로 저는 빵을 사용하지 않았습니다. 필요할 경우 $ this-> loadModel을 추가 할 수 있습니다. – Dabrowski

관련 문제