2012-01-16 2 views
5

Практически в каждой вики объясняются простые вещи. Я застрял в проблеме yii's CDbcriteria.Сравнить вопрос в yii

Только точное «равный» матч объясняется для:

select * from users where status ='active' 

Это сравнение объясняется:

$criteria->compare('status','active'); 

Но я не могу найти пример сценария, который описывает его с поиск на основе оператора. Как не равно по следующему запросу:

select * from users where status !='active' 

Как это сделать?

+4

Я зашел в систему, чтобы проголосовать +1 за это. не знаю, почему люди это делают. –

+0

@FelipeAlmeida, большое спасибо –

ответ

5

попробовать некоторые вещи, как этот

$criteria->condition = " status<>'active'"; 
$criteria->compare('status',$this->status,true); 
4

$criteria->addNotInCondition('status', array('active'));

если count(array('active')) === 1 SQL будет status != 'active', еще status NOT IN ('active', 'smth else')

1

У меня была ниже 3 Конди и он работает как шарм:

$criteria->condition='employee_id<>:employee_id AND vehicle_id=:vehicle_id AND checked_in_on IS NULL'; 
      $criteria->params=array(':employee_id'=>Yii::app()->session['activity']->employee_id,':vehicle_id'=>$model->id); 
      $checkedOutVehicleBySomeoneElse = Activity::model()->find($criteria); 
Смежные вопросы