tp5中where方法如何构建分组条件?
tp5中where方法如何构建分组条件,
例如:
where sex="男" and (name like "李%" or age=18)
该如何构建?
tp5中where方法如何构建分组条件,
例如:
where sex="男" and (name like "李%" or age=18)
该如何构建?
2017-09-25
$res = Db::table('fd_user')->where('sex','eq','男')
->where(function($query){
$query->where('name','like','李%')
->whereOr('age','eq',18);
})
->buildSql();
dump($res);
打印的结果是:
string(91) "( SELECT * FROM `fd_user` WHERE `sex` = '男' AND ( `name` LIKE '李%' OR `age` = 18 ) )";
参考网址:
https://www.kancloud.cn/manual/thinkphp5/135184 tp5手册 高级查询中的混合查询
单个条件:
->where('键名','条件',键值)
如:->where('id','>',1)
等同于Sql语句:“SELECT * FROM * WHERE 'id'>1”
多个条件AND:
->where('键名','条件',键值)
->where('键名','条件',键值)
如:->where('id','>',1)
->where('username','eq',imooc)
等同于Sql语句:“SELECT * FROM * WHERE 'id'>1 AND 'username'='imooc' ”
多个条件OR:
->where('键名','条件',键值)
->whereOr('键名','条件',键值)
如:->where('id','>',1)
->whereOr('username','eq','imooc')
等同于Sql语句:“SELECT * FROM * WHERE 'id'>1 OR 'username'='imooc' ”
举报