ThinkPHP 中 where条件 or,and 同时使用 ,用闭包实现

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' )

看来看去,还是官方的好啊!!!
https://www.kancloud.cn/manual/thinkphp5/135181


下面才是关键啊:
function($query)use($whereor1,$whereor2,$whereor3)
使用参数,用use
posted @ 2021-01-26 13:51  墨晓溪2288  阅读(619)  评论(0编辑  收藏  举报