개인 프로젝트를 개발 중입니다.CakePHP bindModel 작동 중, 미리 설정된 모델 연관 없음
두 가지 모델 '쇼'와 '에피소드'가 있습니다. 하나의 컨트롤러 'Ops'가 있습니다.
쇼 모델 :
class Show extends AppModel
{
var $name = 'Show';
var $hasMany = array(
'Episode' => array(
'className' => 'Episode',
'foreignKey' => 'show_id'
)
);
}
에피소드 모델 :
class Episode extends AppModel
{
var $name = 'Episode';
var $belongsTo = array(
'Show' => array(
'className' => 'Show',
'foreignKey' => 'show_id'
)
);
}
옵스 컨트롤러 : 내가 원하는처럼
class OpsController extends AppController
{
var $name = 'Ops';
var $uses = array('Show','Episode');
function index()
{
$episodes = $this->Episode->find('all',array(
'limit' => 10,
'order' => array('Episode.first_aired' => 'DESC'),
)
);
debug($this->Episode);
debug($episodes);
}
}
내가 '에피소드'기록을 얻을 옵스 컨트롤러를 실행하지만, 'belongsTo'구성에서 'show_id'를 기반으로 연관된 'Show'레코드를 가져 오지 마십시오. 요청이 계속 진행되는 동안 모델 클래스를 의도적으로 중단 할 수 있으므로 모델을 전혀 참조하지 않는 것으로 보입니다. 이 작품을하면서 지금
$this->Episode = ClassRegistry::init('Episode');
$this->Episode->bindModel(
array('belongsTo' => array(
'Show' => array(
'className' => 'Show'
)
)
)
);
:
, 검사를 많이하고 연구 및 테스트 후, 나는 찾기() 요청 이전하여 옵스 컨트롤러에 다음을 추가하여 작동하도록 얻을 수 있었다 아직도 모델이 제대로 호출되지 않는 이유를 알고 싶습니다. 어떤 도움이라도 대단히 감사 할 것입니다. 감사!
네, 필드 유형을 두 번 확인 했으므로 올바르게 설정되었습니다. 나는 또한 같은 결과를 사용하여 'foreignKey'설정을 사용하지 않고 사용하려고 시도했습니다. 내가 다루는 주된 문제는 $ uses 변수를 사용할 때 모델 클래스가 포함되지 않는다는 것입니다. 의도적으로 모델에 오류를 넣었습니다. '사용하는'컨트롤러는 오류가 아닙니다. –