У меня есть контроллер laravel, где я пытаюсь избежать перекрытия времени. Но я столкнулся с проблемой с моим запросом, как я не мог выполнить запрос должным образом в моем контроллере:Laravel: как избежать перекрытия времени?
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=Carbon::parse(str_replace(array('am', 'pm'), ':00', $request->input('start')));
$classRoom->end=Carbon::parse(str_replace(array('am', 'pm'), ':00', $request->input('end')));
$day = $classRoom->day_id;
$startTime=$classRoom->start;
$endTime=$classRoom->end;
$result=DB::select(DB::raw("SELECT * FROM `allocate_rooms`
WHERE start='$startTime' AND end='$endTime' AND day_id='day'"));
if (sizeof($result)>0) {
flash()->error('Class Room Already Taken.');
return redirect('allocateRoomPage');
}
else {
$classRoom->save();
flash()->success('Successfully allocated room.');
return redirect('allocateRoomPage');
}
}
Здесь в запросе моего контроллера сначала я проверить, был ли day_id в качестве ввода спичка с базой данных с этот день_ид, а затем он будет проверяться со временем, если он будет соответствовать результату, будет более одного, поэтому он не сможет позволить пользователю сохранить ввод иначе, если запрос не удался, он позволит пользователю сохранять данные.
У меня возникла проблема с запросом. Если кто-нибудь поможет найти решение.
В чем проблема с запросом? Можете ли вы отправить точное сообщение об ошибке? – codedge