yii2中andWhere与andFilterWhere的区别有哪些

小编给大家分享一下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的区别有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文题目:yii2中andWhere与andFilterWhere的区别有哪些
URL链接:http://scyanting.com/article/psppcj.html