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的区分的细致内容,更多请关注ki4网别的相干文章!