Laravel 拉威尔4号高级酒店
我的查询在mySQL中工作得很好,但是我很难使用laravel查询生成器中的高级Where 有人能帮忙转换吗 到目前为止,我已经: 拉维尔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)
$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();