условие cakephp на основе объединенной таблицы

 $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()
}

Я вообще не хочу получать товар без категорий, как я не могу добавить это в условие?


person Wizard    schedule 10.02.2016    source источник


Ответы (1)


попробуйте этот код

 $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')
                            )
                        );

вы забыли закрыть одну скобку....может это вам поможет....

person Pruthviraj Chudasama    schedule 10.02.2016