$positionuse=Position_use::
where('id',$id)
->WhereBetween('start_time', [$start_time, $end_time])
->orWhereBetween('end_time', [$start_time, $end_time])
->orwhere('start_time','<',$start_time)
->where('end_time','>',$end_time)
->orwhere('start_time','>',$start_time)
->where('end_time','<',$end_time)
->get();
这是我上一篇中查询时间的语句,where可多个使用
WhereBetween是查询一个区间,例如1-10可写成
->WhereBetween('start_time', [1, 10])
有个需要注意的点就是有orwhere之后前面的id无法继续作为查询条件所以需要写成
$positionuse=Position_use::where('id',$id)
->WhereBetween('start_time', [$start_time, $end_time])
->orWhereBetween('end_time', [$start_time, $end_time])
->where('id',$id)
->orwhere('start_time','<',$start_time)
->where('end_time','>',$end_time)
->where('id',$id)
->orwhere('start_time','>',$start_time)
->where('end_time','<',$end_time)
->where('id',$id)
->get();
这样才是带着id查询的结果
wherein的使用方法:
$type=[1,2,3,];
$typelist=Position_type::whereIn('id',$type)->get();
取指定列:
$type=[1,2,3,];
$typelist=Position_type::whereIn('id',$type)->select(['type_name','name'])->get();
查看组成的sql
$type=[1,2,3,];
$typelist=Position_type::whereIn('id',$type)->select(['type_name','name'])->toSql();
echo $typelist;
直接根据id查询单个数据
$user=User::find($id);
这样直接查出来id=$id那一行数据
本人新手,有些代码写的过于冗余,尽情批评我吧!