2010-08-10 189 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