条件查询方法
where方法
可以使用where方法进行AND条件查询:
Db::table('think_user')->where('name','like','%thinkphp')->where('status',1)->find();
多字段相同条件的AND查询可以简化为如下方式:
Db::table('think_user')->where('name&title','like','%thinkphp')->find();
whereOr方法
使用whereOr方法进行OR查询:
Db::table('think_user')->where('name','like','%thinkphp')->whereOr('title','like','%thinkphp')->find();
多字段相同条件的OR查询可以简化为如下方式:
Db::table('think_user')->where('name|title','like','%thinkphp')->find();
混合查询
where方法和whereOr方法在复杂的查询条件中经常需要配合一起混合使用,下面举个例子:
$result = Db::table('think_user')->where(function ($query) {$query->where('id', 1)->whereor('id', 2);})->whereOr(function ($query) {$query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp');})->select();
生成的sql语句类似于下面:
SELECT * FROM `think_user` WHERE ( `id` = 1 OR `id` = 2 ) OR ( `name` LIKE 'think' OR `name` LIKE 'thinkphp' )
注意闭包查询里面的顺序,而且第一个查询方法用where或者whereOr是没有区别的。
欢迎关注订阅号:phpstory
本文详细介绍了ThinkPHP框架中数据库操作类Db的条件查询方法,包括where方法进行AND条件查询、whereOr方法进行OR条件查询及where方法和whereOr方法的混合使用。通过具体实例展示了如何构建复杂的查询条件。
6084

被折叠的 条评论
为什么被折叠?



