【发布时间】:2016-05-12 17:09:25
【问题描述】:
我正在构建一个 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 是否与具有该 day_id 的数据库匹配,然后它会检查时间,如果匹配,结果将超过一个,所以它可以' t 让用户保存输入,否则如果查询失败,它将让用户保存数据。
我遇到了查询问题。如果有人帮助找出解决方案。
【问题讨论】:
-
那么查询有什么问题呢?你能发布确切的错误信息吗?