Php laravel WHERRAW查询错误
这是我的MySQL查询,我将其转换为laravel,下面是错误,请建议如何修复Php laravel WHERRAW查询错误,php,mysql,laravel-5,Php,Mysql,Laravel 5,这是我的MySQL查询,我将其转换为laravel,下面是错误,请建议如何修复 $shiftData= DB::table(DB::raw('shifts')) ->whereRaw("time_sheet_id = $getTimesheet1->time_sheet_id AND user_id = $user_id->user_id") ->whereRaw("$shift_start_time BETWEEN shift_start_time
$shiftData= DB::table(DB::raw('shifts'))
->whereRaw("time_sheet_id = $getTimesheet1->time_sheet_id AND user_id = $user_id->user_id")
->whereRaw("$shift_start_time BETWEEN shift_start_time AND shift_end_time OR $shift_end_time BETWEEN shift_start_time AND shift_end_time OR $shift_start_time >= shift_start_time AND $shift_end_time <= shift_end_time")
->get();
$shift_end_time = $request->input('shift_end_time');
$shift_start_time = $request->input('shift_start_time');
$shiftData=DB::table(DB::raw('shifts'))
->whereRaw(“时间表\u id=$getTimesheet1->时间表\u id和用户\u id=$user\u id->user\u id”)
->其中,“$shift\U start\U time和shift\U end\U time之间的$shift\U start\U time或$shift\U start\U time>=shift\U start\U time和$shift\U end\U time您的sql查询看起来像一个伪代码
应在sql查询之前定义“班次开始时间”和“班次结束时间”
试着这样做:
$shift_end_time = $request->input('shift_end_time');
$shift_start_time = $request->input('shift_start_time');
$shiftData= DB::table('shifts')
->where(time_sheet_id, $getTimesheet1->time_sheet_id)
->where(user_id, $user_id->user_id)
->whereBetween('shift_start_time', array($shift_start_time, $shift_end_time))
->whereBetween('shift_end_time', array($shift_start_time, $shift_end_time))
->where('shift_end_time', '>=', 'shift_start_time')
->get();
你需要把你的时间值(16:00:00,20:00:00)用引号括起来。。。
$shift_end_time = $request->input('shift_end_time');
$shift_start_time = $request->input('shift_start_time');
$shiftData= DB::table('shifts')
->where(time_sheet_id, $getTimesheet1->time_sheet_id)
->where(user_id, $user_id->user_id)
->whereBetween('shift_start_time', array($shift_start_time, $shift_end_time))
->whereBetween('shift_end_time', array($shift_start_time, $shift_end_time))
->where('shift_end_time', '>=', 'shift_start_time')
->get();