我想加入「分區」表以達到分頁結果。這是發生了什麼:Cakephp與連接表分頁
我設置PAGINATE變量,以便它會加入行業:
$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');
由分頁程序生成的查詢被損壞,因爲它加入部門前公司。 這裏是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 2013-02-22 22:02:42
@DIDIERC沒有'連接'中指定的'條件'我將無法加入此表。 – 2013-02-22 22:13:10
讓我改述一下:試着把'「conditions」=> $ conditions'放在外層數組中的'「joins」=> ...之前。請注意,這只是一個猜測,我不知道這是否是您的問題的根源,但嘗試不會花費太多。 – didierc 2013-02-22 22:50:59