Yii2 SQL查询语句
Yii2对于数据库操作好多都是通过ActiveRecord进行。但是ActiveRecord提供的一些 接口都是进行比较简单的查询。如果进行一些复杂的查询,查询语句的构建就比较麻烦。 对于自己所想到的sql查询语句创建进行记录。
- A and (B or C) 期望
sql = "SELECT * FROM `table` where `name` like %xiaoming%
and ( `last_ip` like %192.168.171% or `current_ip` like %192.168.171% )";
Yii语句
$query->andFilterWhere(['like','name','xiaoming']);
$query->andWhere([
'or',
['like','last_ip','192.168.171'],
['like','current_ip','192.168.171']
]);
注解
andWhere构建查询语句,会根据参数的类型进行解析。第一个参数是第二,第三个参数的连 接符。如果第二第,第三个参数还符合where参数定义,则进行递归解析。
评论