cakephp - 按所包含模型中的字段排序

时间:2014-08-01 01:36:30

标签: php cakephp

我正在尝试获取特定类别的所有产品(产品包含并且属于Catrgories)。我的条件是Category.name ='whatever'和Product.live = 1

我可以这样做:

$cats = $this->Category->find('all', array(
    'conditions' => array(
        'Category.name' => $categoryName
    ),
    'contain' => 'Product.live = 1'
));

但我也希望按Product.sort_order对结果进行排序,所以我尝试了:

$cats = $this->Category->find('all', array(
    'conditions' => array(
        'Category.name' => $categoryName
    ),
    'order' => array('Product.sort_order'),
    'contain' => 'Product.live = 1'
));

但这不起作用。什么是正确的方法?

1 个答案:

答案 0 :(得分:5)

TLDR:使用联接代替包含(或交换查找方向)

answered this question about 6 8 times on {{3}溢出 - 不确定它是否只是出现在Stack ...等或什么,但是 - 你不能通过Contained模型订购,因为Containing通常会创建多个/单独的查询。