我有以下代码(已缩短,否则显示太久):
Feedback::find()
->where(['feedback.fg_id' => $this->id])
->orWhere(['feedback.fg_id' => $this->id, 'feedback.closed_time' => NULL, '<' => ['feedback.survey_end_date', new Expression('NOW()')]])
->all();
由于中的最后一条语句,此代码无法正常工作 orWhere()
我现在的问题是:如何将语法组合在一起orWhere
?这是因为我需要or
块中的所有语句。
矛盾的sql代码应为:
SELECT * FROM feedback WHERE
(feedback.fg_id = 1) OR (feedback.fg_id = 1 AND feedback.closed_time IS NULL AND feedback.survey_end_date < NOW())
是的,您可以结合自己的条件,因为...
Feedback::find()
->where(['feedback.fg_id' => $this->id])
->orWhere(['AND',
['feedback.fg_id' => $this->id],
['feedback.closed_time' => NULL],
['<' , 'feedback.survey_end_date', new Expression('NOW()')]
]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句