我有一些条件可以交给我的数据提供者。现在,我的最后一个条件我只想在字段"编辑"设置为true - >在这种情况下,我想检查editConfirmed字段' editBevestigd'设置为true。如果'编辑'字段为空我不想添加最后一个条件。
$criteria->addCondition('bevestigd = 1');
$criteria->addCondition('IF(edit = 1) editBevestigd = 1');
处理此问题的最佳方法是什么。我可以在YII中这样做(这里的问题是该记录尚未知晓)。或者我如何在SQL中写这个(我知道最后一个条件现在不是......)?
提前致谢!
答案 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');