yii2中andWhere與andFilterWhere的區別
yii2中,經常會使用很多條件進行組合判斷查詢數據,所以就要明白andWhere和andFilterWhere的差異,以便靈活的使用。
#andWhere() //定義一個不為空的參數 $name = 'lisi'; $query = Model::find(); $query->andWhere(['name'=>$name]); //生成的語句 SELECT * FROM `table_name` WHERE `name`='lisi' //定義一個為空的參數 $name = ''; $query->andWhere(['name'=>$name]); //生成的語句 SELECT * FROM `table_name` WHERE `name`='' #andFilterWhere //定義一個不為空的參數 $name = 'lisi'; $query = Model::find(); $query->andFilterWhere(['name'=>$name]); //生成的語句 SELECT * FROM `table_name` WHERE `name`='lisi' //定義一個為空的參數 $name = ''; $query->andFilterWhere(['name'=>$name]); //生成的語句 SELECT * FROM `table_name`
看代碼應該就能看出差異了,andWhere 時,不管查詢的條件參數是否為空,都會加上該條件。andFilterWhere 時,當條件參數為空時,則會自動過濾該條件。
推薦:《YII教程》
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com