【发布时间】:2016-08-28 09:11:05
【问题描述】:
我想在我的数据库中保存两个时间间隔。它将在哪里检查数据库,如果有人已经预订了那个时间,它将不会节省时间,而如果它是空的,它将节省用户将作为输入提供的时间。
例如。用户想要预订 8:00 到 8:30 的时间表,同时保存到 数据库它将在数据库中检查是否有人已经使用 那个时间与否,如果不是,那么它会保存,否则它不会。同时 即使在 8 点 15 分,用户也无法提供输入。
我该如何解决这个重叠问题?
这是我使用的控制器代码,但它没有运行:
public function postAllocateRoom(Request $request)
{
$classRoom = new ClassRoom();
$classRoom->department_id=$request->Input(['department_id']);
$classRoom->room_id=$request->Input(['room_id']);
$classRoom->course_id=$request->Input(['course_id']);
$classRoom->day_id=$request->Input(['day_id']);
$classRoom->start=$request->Input(['start']);
$classRoom->end=$request->Input(['end']);
$startTime = Carbon::parse($request->input('start'));
$endTime = Carbon::parse($request->input('end'));
$classRoomCount = ClassRoom::where(function ($query) {
$query->where('start', '>=', $startTime)
->where('end', '<=', $startTime); })->count();
$messages ="Class Room Already Taken";
if ($classRoomCount > 0) {
return redirect('allocateRoomPage',$message);
}
else {
$classRoom->save();
return redirect('allocateRoomPage');
}
}
【问题讨论】:
标签: php mysql sql laravel laravel-5.2