【问题标题】:CakePHP search in hasMany relationsCakePHP 在 hasMany 关系中搜索
【发布时间】: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


    【解决方案1】:

    当我第一次尝试创建一个具有多重关系的简单搜索引擎时,我也经历了同样的事情。

    我使用了多个$this->find(),并将其分配在一个变量中,然后在我使用的分页代码$this->paginate(array_merge(name of the variables used in $this->find()));。

    希望对你有所帮助...

    ~焦

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-04
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      相关资源
      最近更新 更多