我正在使用laravel 5.5并使用此查询检查事件检查是否可以使用2次插槽:
$schedules->where('id', $id)
->wherebetween($date, ['start','end'])
->orwherebetween($endTime, ['start','end'])
->orwherebetween('start', [$date,$endTime])
->orderBy('start')->get();
得到这个错误
“message”:“SQLSTATE [42S22]:未找到列:1054未知列'2019-03-06 13:00:00'in'where clause'
因为第一个参数应该是列的名称:
你应该将你的代码更改为:
->wherebetween('column name', ['1st date','2nd date'])
->orwherebetween('column name', ['1st date','2nd date'])
我已经通过添加DB::raw()
read more来解决这个问题
$schedules->where('id', $id)
->wherebetween(DB::raw($date), ['start','end'])
->orwherebetween(DB::raw($endTime), ['start','end'])
->orwherebetween('start', [$date,$endTime])
->orderBy('start')->get();