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 中国語 Web サイトの他の関連記事を参照してください。