cakephp模型关联-查找父模型的其他子模型

cakephp模型关联-查找父模型的其他子模型,cakephp,Cakephp,我有一些协会: 产品->有许多->产品选项 Product->hasMany->ProductImage 我想找到产品数据,包括ProductImage和ProductOption.id 当我这样做时: $this->Basket->Product->ProductOption->find('first',array( 'contain' => array( 'Product' => array( 'Prod

我有一些协会:

  • 产品->有许多->产品选项
  • Product->hasMany->ProductImage
我想找到产品数据,包括ProductImage和ProductOption.id

当我这样做时:

$this->Basket->Product->ProductOption->find('first',array(
    'contain' => array(
        'Product' => array(
            'ProductOption' => array(
                'conditions' => array('ProductOption.id = '.$id)
            ),
            'ProductImage'
        )
    )
));
我明白了:

array(
    'ProductOption' => array(
        'id' => '46',
        'product_id' => '9',
    ),
    'Product' => array(
        'id' => '9',
        'name' => 'Some product',
    )
)

这是我最想要的,但不包括“ProductImage”。如何在数组中获取此值?

我认为您使用的递归太多了。如果在产品上使用Containeable,则对其进行查询,而不是ProductOption,如下所示:

$this->Basket->Product->find('first',array(
  'contain' => array(        
    'ProductOption' => array(
            'conditions' => array('ProductOption.id = '.$id)
    ),
    'ProductImage'
  )    
));
而且不需要在“contain”数组中使用Product,这已经是猜测了


(我没有尝试,但几乎可以肯定)

实际上,这找到了正确的ProductOption,但没有为产品模型提供任何where子句:它的查询是(where 1=1)