比较yii中的问题

时间:2012-01-16 11:49:11

标签: yii

几乎在每个维基中,都会解释简单的事情。我陷入了yii的CDbcriteria比较问题。

仅解释完全“等于”匹配 为:

select * from users where status ='active'

解释了这种比较:

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

但我找不到一个用基于运算符的搜索来描述它的示例脚本。不等于以下查询:

select * from users where status !='active'

我该怎么做?

4 个答案:

答案 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);