1

我的 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 只返回那些具有至少具有蓝色的变体的项目?

4

1 回答 1

0

You cannot do it like this, you must find variants having the color you want. Try this

$this->Variant->Color->find(
    'all',
    array(
        'conditions' => array('Color.name' => $color),
        'contain' => array(
            'Variant' => array(
                'Item',
            )
        )
    )
);
于 2015-09-16T08:06:45.097 回答