2010-08-10 237 views
1

我有一個模型內容belongsTo類別,hasMany發佈者和發佈者belongsTo城市。 還有一個搜索表單,有人從下拉框中選擇要查看哪個類別以及哪個城市。CakePHP搜索已搜索到更多關鍵詞

但是,我怎樣才能將這兩個在一個分頁條件?我的意思是我不能這樣做:

$this->paginate('Content',array('conditions' =>array('Category.id'=>$category, 
'City.id'=>$city))); 

因爲得到城市蛋糕執行不同的查詢。

我也可以這樣做:

$this->paginate('Content',array('conditions' =>array('Category.id'=>$category), 
'contain'=>array('Publisher.City'=>array('conditions'=>array(City.id'=>$city))))); 

,因爲這將根據類別搜索和按$城市過濾城市的結果。

我知道我可以這樣做:

$this->Content->Publisher->City->find(...) 

但這種情況將會改變我的拼版數據的輸出。

我通常會做的是編寫我的自定義查詢,我將LEFT加入所有模型並在WHERE中篩選結果。但我想問一下,如果有更多的蛋糕(原文如此)!

感謝

回答

0

我已經經歷了同樣的事情,當我第一次嘗試創建的hasMany關係的簡單的搜索引擎。

我使用了多個$this->find()並將其分配給一個變量,然後在我使用的分頁代碼$this->paginate(array_merge(name of the variables used in $this->find()));上。

希望這將幫助你......

〜GIO