ホームページ >PHPフレームワーク >YII >yii2 の andWhere と andFilterWhere の違い

yii2 の andWhere と andFilterWhere の違い

angryTom
angryTom転載
2019-11-26 17:17:244015ブラウズ

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

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。