小编给大家分享一下yii2中andWhere与andFilterWhere的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
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 时,当条件参数为空时,则会自动过滤该条件。
看完了这篇文章,相信你对“yii2中andWhere与andFilterWhere的区别有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。