【发布时间】:2010-08-10 10:08:27
【问题描述】:
我有一个模型内容,它属于类别,有许多出版商,出版商属于城市。 还有一个搜索表单,用户可以从下拉框中选择要查看的类别和城市。
但是我怎样才能将这两者结合在一个分页条件下呢?我的意思是我不能这样做:
$this->paginate('Content',array('conditions' =>array('Category.id'=>$category,
'City.id'=>$city)));
因为获取城市 cake 执行不同的查询。
我也不能这样做:
$this->paginate('Content',array('conditions' =>array('Category.id'=>$category),
'contain'=>array('Publisher.City'=>array('conditions'=>array(City.id'=>$city)))));
因为这会根据类别搜索并根据$city过滤城市结果。
我知道我可以这样做:
$this->Content->Publisher->City->find(...)
但这会改变我的分页数据的输出。
我通常做的是编写我的自定义查询,我 LEFT 加入所有模型并在 WHERE 中过滤结果。但我想问是否有更多的蛋糕(原文如此)方式!
谢谢
【问题讨论】:
标签: cakephp conditional-statements