几乎在每个维基中,都会解释简单的事情。我陷入了yii的CDbcriteria
比较问题。
仅解释完全“等于”匹配 为:
select * from users where status ='active'
解释了这种比较:
$criteria->compare('status','active');
但我找不到一个用基于运算符的搜索来描述它的示例脚本。不等于以下查询:
select * from users where status !='active'
我该怎么做?
答案 0 :(得分:5)
尝试这样的事情
$criteria->condition = " status<>'active'";
$criteria->compare('status',$this->status,true);
答案 1 :(得分:4)
$criteria->addNotInCondition('status', array('active'));
如果count(array('active')) === 1
sql将status != 'active'
,则status NOT IN ('active', 'smth else')
答案 2 :(得分:1)
尝试
$criteria->addCondition("NOT status = 'active'");
答案 3 :(得分: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);