Cakephp找到具有特定属性的Item-Variants

时间:2015-09-09 13:33:04

标签: cakephp cakephp-2.0 relationship containable cakephp-2.6

我的Cakephp(2.6)查找查询和深层关联存在问题。

我的关系:

Item hasMany Variant
Variant hasAndBelongsToMany Color

我试图找到所有至少有一个变体颜色=蓝色的项目。

$options['contain'] = array(
     'Variant' =>array(
         'Color' => array( 
            'conditions' => array(
                'Color.name =' => 'blue'
))));

$this->Item->find('all',$options);

以上查询返回无变体的项目。

如何告诉Cake只返回那些至少颜色为蓝色的变体?

1 个答案:

答案 0 :(得分:0)

你不能这样做,你必须找到你想要的颜色的变种。试试这个

$this->Variant->Color->find(
    'all',
    array(
        'conditions' => array('Color.name' => $color),
        'contain' => array(
            'Variant' => array(
                'Item',
            )
        )
    )
);