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教學》
以上是yii2中andWhere與andFilterWhere的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!