2013-09-13 2 views
0

Неужели кто-нибудь здесь испытывал использование критериев-> сравнивает сравнение одного входа с двумя отдельными столбцами таблицы через отношения в моделях?сравнить один вход с 2 столбцами таблицы

вот мое отношение заявление:

'class' => array(self::HAS_ONE, 'BaseEiEquipItem', 'iar_no'), 
    'classSi' => array(self::HAS_ONE, 'BaseSiReceivedItem','iar_no'), 

теперь я хочу, чтобы сравнить свой вклад, если она существует в любом из этих 2-х таблиц

if(!empty($_GET['BaseIar']['description'])){ 
     $this->description= $_GET['BaseIar']['description']; 
     $criteria->with = array('class','classSi');//this will serve as join 
     $criteria->compare('class.description,classSi.description', $this->description, true); // true is equivalence of like %% 
    } 
    else{ 
     $this->description=''; 
     $criteria->with = array('class','classSi');//this will serve as join 
     $criteria->compare('class.description,classSi.description', $this->description, true); // true is equivalence of like %% 
    } 

ответ

0

Вы можете попробовать что-то вроде этого

$criteria->compare('class.description', $this->description, true); 
$criteria->compare('classSi.description', $this->description, true, 'OR'); 
+0

ты мужчина @ Мартин. Спасибо большое! – Enrico

0

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

$this->description = (!empty($_GET['BaseIar']['description'])) ? $_GET['BaseIar']['description'] : ''; 
$criteria->with = array(
        'class' => array(
         'condition' => "class.description LIKE :desc" 
         'params' => array(":desc" => "%{$this->description}%") 
        ), 
        'classSi' => array(
         'condition' => "classSi.description LIKE :desc" 
         'params' => array(":desc" => "%{$this->description}%") 
        )); 
+0

спасибо большое! ^^ – Enrico

Смежные вопросы