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

推薦:《YII教程》??

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享