首頁 >php框架 >YII >yii2中andWhere與andFilterWhere的區別

yii2中andWhere與andFilterWhere的區別

angryTom
angryTom轉載
2019-11-26 17:17:243995瀏覽

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 時,當條件參數為空時,則會自動過濾該條件。

推薦:《YII教學》  

以上是yii2中andWhere與andFilterWhere的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除