2015-09-09 45 views
1

我的CakePHP(2.6)查找查询和深度关联有问题。CakePHP查找具有特定属性的项目变体

我的关系:

Item hasMany Variant 
Variant hasAndBelongsToMany Color 

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

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

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

上述查询返回具有没有变体项目。

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

回答

0

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

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