"섹터"테이블을 페이지 매김 결과에 결합하고 싶습니다.조인 된 테이블을 가진 Cakephp 페이지 매김
$this->paginate = array(
'joins' => array(
array(
'table' => 'sectors',
'alias' => 'Sector',
'type' => 'left',
'foreignKey' => false,
'conditions' => array('Company.sector_id = Sector.id'))),
'conditions' => $conditions);
을 한 후 조인 때문에
$jobs = $this->paginate('Job');
가 매기기에 의해 생성 된 쿼리가 손상 이동 :이 부문에 가입 할 수 있도록
내가 PAGINATE 변수를 설정 : 여기에 무슨이다 회사 전의 업종. 다음은 SQL 출력의 일부입니다SELECT COUNT(*) AS `count` FROM `jobs` AS `Job` left JOIN sectors AS `Sector` ON (`Company`.`sector_id` = 'Sector.id') LEFT JOIN `companies` AS `Company` ON (`Job`.`company_id` = `Company`.`id`)
그것은해야한다 :
SELECT COUNT(*) AS `count` FROM `jobs` AS `Job` LEFT JOIN `companies` AS `Company` ON (`Job`.`company_id` = `Company`.`id`) left JOIN sectors AS `Sector` ON (`Company`.`sector_id` = 'Sector.id')
나는 작업 모델 페이지를 매기는 그것은 회사의 모델이 아니라 섹터 모델 관련이있다. 그래서 섹터에 페이지 매김을해야합니다.
어떻게 해결할 수 있습니까?
'$ conditions'을 먼저 외부 배열에 넣으십시오. – didierc
@DIDIERC '조건'이 '조인'에 지정되지 않은 경우이 테이블에 가입 할 수 없습니다. –
내가 바꿔 말하면, 바깥 쪽 배열에''joins "=> ...'앞에 조건"=> $ conditions'을 넣으십시오. 이것은 단지 추측이며, 이것이 문제의 원인인지는 모르겠지만 시도하는 데 많은 비용이 들지 않습니다. – didierc