我正在使用yii 2,我寫了查詢來從表中使用andWhere和orWhere獲取記錄,但結果令人困惑。讓我告訴你我面臨的問題。 我的查詢是混淆使用Yii 2查詢bulider和其中,或者哪裏?
Mission::find()->where(['IN', 'id', $ids])->orWhere(['created_by' => $user->id])->activeOrCancel()->all()
活性或取消()在模型
public function activeOrCancel()
{
$this->andWhere(['status' => '1']);
$this->orWhere(['status' => 'cancel']);
return $this;
}
被定義當調試,並檢查了SQL查詢。我因此得到了這一點: -
SELECT * FROM `tbl_mission` WHERE (((0=1) OR (`created_by`=75)) AND (`status`='1')) OR (`status`='cancel')
我怎樣才能得到這種結果的
SELECT * FROM `tbl_mission` WHERE ((0=1) OR (`created_by`=75)) AND ((`status`='1') OR (`status`='cancel'))
我會在星期一嘗試。讓我們看看它對我有用。我還有一個功能,我沒有在這裏提到。 notDeleted()這也將被添加到我的查詢中。 yii生成的sql查詢正在爲我創建問題。 –