Laravel 拉威尔4号高级酒店

Laravel 拉威尔4号高级酒店,laravel,laravel-4,query-builder,Laravel,Laravel 4,Query Builder,我的查询在mySQL中工作得很好,但是我很难使用laravel查询生成器中的高级Where 有人能帮忙转换吗 到目前为止,我已经: 拉维尔 $start_request = '2014-12-18 09:00'; $end_request = '2014-12-18 10:00'; $events= DB::table('events') ->where('hotel_id', 4) ->orWhere(function($query)

我的查询在mySQL中工作得很好,但是我很难使用laravel查询生成器中的高级Where

有人能帮忙转换吗

到目前为止,我已经:

拉维尔

$start_request = '2014-12-18 09:00';
$end_request = '2014-12-18 10:00';

$events=  DB::table('events')
          ->where('hotel_id', 4)
          ->orWhere(function($query)
                {
                    $query->where($start_request, '<=', 'start_time')
                              ->where($end_request, '>', 'start_time');
                })
            ->orWhere(function($query)
                 {
                     $query->where($start_request, '>=', 'start_time')
                                ->where($end_request, '<', 'end_time');
                 })
            ->get();
$start_request='2014-12-18 09:00';
$end_请求='2014-12-18 10:00';
$events=DB::表('events')
->何处('hotel_id',4)
->orWhere(函数($query)
{
$query->where($start\u request,,'start\u time');
})
->orWhere(函数($query)
{
$query->where($start\u请求,'>=','start\u时间')
->你能试试这个吗

$start_request = '2014-12-18 09:00';
$end_request = '2014-12-18 10:00';

$events=  DB::table('events')
          ->where('hotel_id', 4)
          ->where(function($query) use($start_request, $end_request) {
                    $query->where(function($subquery) use($start_request, $end_request){
                        $subquery->where('start_time', '>=', $start_request)
                                 ->where('start_time', '<', $end_request);
                    });
                    $query->orWhere(function($subquery1) use($start_request, $end_request) {
                        $subquery1->where('start_time', '<=', $start_request)
                                ->where('end_time', '>', $end_request);
                    });

            })
            ->get();
$start_request='2014-12-18 09:00';
$end_请求='2014-12-18 10:00';
$events=DB::表('events')
->何处('hotel_id',4)
->其中(函数($query)使用($start\u request,$end\u request){
$query->where(函数($subquery)使用($start\u request,$end\u request){
$subquery->where('start\u time','>=',$start\u request)
->其中('开始时间','',$结束请求);
});
})
->get();

像这样的东西应该可以完成这项工作:

$start_request = '2014-12-18 09:00';
$end_request = '2014-12-18 10:00';

$events = DB::table('events')
    ->where('hotel_id', 4)
    ->where(function ($q) use ($start_request, $end_request) {
        $q->where(function ($query) use ($start_request, $end_request) {
            $query->where($start_request, '<=', 'start_time')
                ->where($end_request, '>', 'start_time');
        })
        ->orWhere(function ($query) use ($start_request, $end_request) {
            $query->where($start_request, '>=', 'start_time')
                ->where($end_request, '<', 'end_time');
        });
    })
    ->select('id', 'title', 'description', 'start_time', 'end_time')
    ->get();
$start_request='2014-12-18 09:00';
$end_请求='2014-12-18 10:00';
$events=DB::表('events')
->何处('hotel_id',4)
->其中(函数($q)使用($start\u request,$end\u request){
$q->where(函数($query)use($start\u request,$end\u request){
$query->where($start\u request,,'start\u time');
})
->orWhere(函数($query)使用($start\u请求,$end\u请求){
$query->where($start\u请求,'>=','start\u时间')

->where($end\u request,'I'm get'未定义变量:start\u request'好的,很好,我已经更新了我的答案。很抱歉,我现在无法在我的环境上测试它。工作很好。非常感谢你的帮助。非常感谢。谢谢你Marcin,你的改编非常有帮助
$start_request = '2014-12-18 09:00';
$end_request = '2014-12-18 10:00';

$events = DB::table('events')
    ->where('hotel_id', 4)
    ->where(function ($q) use ($start_request, $end_request) {
        $q->where(function ($query) use ($start_request, $end_request) {
            $query->where($start_request, '<=', 'start_time')
                ->where($end_request, '>', 'start_time');
        })
        ->orWhere(function ($query) use ($start_request, $end_request) {
            $query->where($start_request, '>=', 'start_time')
                ->where($end_request, '<', 'end_time');
        });
    })
    ->select('id', 'title', 'description', 'start_time', 'end_time')
    ->get();