TP5.1 闭包查询WHERE ( 查询条件1 OR 查询条件2 ) OR ( 查询条件3 OR 查询条件4 )

例子: WHERE ( a< b AND a>c ) OR ( h< b AND h>c )

原生:WHERE ( starttime < $starttime AND endtime > $starttime ) OR ( starttime < $endtime AND endtime > $endtime )

TP

$livetime= Db::name('live_course')->where($where_time)->where(function ($query) use($starttime, $starttime) {$query->where('starttime', '<', $starttime)->where('endtime', '>', $starttime);})->whereOr(function ($query) use($endtime, $endtime) {$query->where('starttime', '<', $endtime)->where('endtime', '>', $endtime);})->select();

$livetime= Db::name('live_course')->where($where_time)->where(function ($query) use($starttime, $starttime) {$query->where('starttime', '<', $starttime)->where('endtime', '>', $starttime);})->whereOr(function ($query) use($endtime, $endtime) {$query->where('starttime', '<', $endtime)->where('endtime', '>', $endtime);})->select();

官方文档:闭包查询

https://www.kancloud.cn/manual/thinkphp5_1/354030

猜你喜欢

转载自blog.csdn.net/haibo0668/article/details/81563700
今日推荐