如何在addCondition中使用If语句,YII

时间:2014-06-06 12:09:04

标签: sql yii

我有一些条件可以交给我的数据提供者。现在,我的最后一个条件我只想在字段"编辑"设置为true - >在这种情况下,我想检查editConfirmed字段' editBevestigd'设置为true。如果'编辑'字段为空我不想添加最后一个条件。

$criteria->addCondition('bevestigd = 1');
$criteria->addCondition('IF(edit = 1) editBevestigd = 1');

处理此问题的最佳方法是什么。我可以在YII中这样做(这里的问题是该记录尚未知晓)。或者我如何在SQL中写这个(我知道最后一个条件现在不是......)?

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果我理解你想要什么,那么你应该使用这个条件:

WHERE (edit = 1 AND editBevestigd = 1) OR edit = 0

因此,条件变为:

$criteria->addCondition('(edit = 1 AND editBevestigd = 1) OR edit = 0');

答案 1 :(得分:0)

你可以尝试那样

//for php variable set or not
if($edit==1){
 $criteria->addCondition('editBevestigd=1');
}

//for column set or not
$criteria->addCondition('edit IS NOT NULL AND editBevestigd=1');