基于连接表的 CakePHP 条件


cakephp condition based on joined table

 $results = $this->Cart->find('all', 
        array(
          'contain' => array(
              'Product' => array(
                  'Category' => array(
                      'conditions' => array('Category.name LIKE' => "%$query%"),
                      'fields' => array('Category.name')
                   )
              )
           ),
          'conditions'=>array(
              'Product.title LIKE' => "%$query%"
          ),                                                  
         'fields'=> array('Product.title')
        );

这是查询示例,我只想在产品包含至少一个条目时才获得结果?

现在,如果产品不包含产品,我会得到类似的东西:

array(){
'field' => 'value'
'Product' => 'Category' => array()
}

我根本不想获得没有类别的产品,我怎么不能将其添加到条件中?

试试这段代码

 $results = $this->Cart->find('all', 
                            array(
                                'contain' => array(
                                    'Product' => array(
                                        'Category' => array(
                                            'conditions' => array('Category.name LIKE' => "%$query%"),
                                            'fields' => array('Category.name')
                                        )
                                    )
                                ),
                                'conditions'=>array(
                                        'Product.title LIKE' => "%$query%"
                                ),                                                  
                                'fields'=> array('Product.title')
                            )
                        );

你忘记一个支架关闭....可能是它为你的工作。