В моей модели Training
У меня есть запись.
![enter image description here](https://i.stack.imgur.com/WuEF6.png)
дата тренинга: 15/09/2019 |час_старт: 18:00 |час_конец: 20:00 |Мотоцикл: 000001
Затем, если у меня есть мотоцикл 000001
в Revision
, с 01.09.2009 по 15.09.2009 с 14:00 до 16: 00.
![enter image description here](https://i.stack.imgur.com/q8it9.png)
Теперь, если я хочу добавить запись в мою форму Training
, например:
![enter image description here](https://i.stack.imgur.com/7E8rQ.png)
дата тренинга: 15.09.2009 |час_старт: 08:00 |час_конец: 10:00 |Мотоцикл: 000001
Обычно мотоцикл находится в ревизии, но здесь я могу добавить ??? Как создать блокировку?
public function store(Request $request)
{
$request->validate([
'date_seance' => 'required',
'hour_start' => 'required',
'hour_end' => 'required',
'fk_motorbike' => 'required',
'fk_former' => 'required',
'fk_student' => 'required',
'fk_typeseance' => 'required'
]);
$date_seance = Carbon::parse($request->get('date_seance'))->format('Y-m-d');
$hour_start = $request->get('hour_start');
$hour_end = $request->get('hour_end');
$fk_motorbike = $request->get('fk_motorbike');
$fk_student = $request->get('fk_student');
$fk_former = $request->get('fk_former');
$fk_typeseance = $request->get('fk_typeseance');
$conflictTraining = Training::where('fk_motorbike', $request->get('fk_motorbike'))
->whereDate('date_seance', "=" , Carbon::parse($date_seance))
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->where('fk_former', $request->get('fk_former'))
->first();
$conflictRevision = Revision::where('fk_motorbike', $fk_motorbike)
->whereDate('date_revision_start', "<=" , Carbon::parse($date_seance))
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->whereDate('date_revision_end', "<=" , Carbon::parse($date_seance))
->first();
if(isset($conflictRevision)) {
return redirect()->route('trainings.index')
->with('error', 'revision');
}
if(isset($conflictTraining)){
return redirect()->route('trainings.index')
->with('error', 'training');
}
else{
Training::create($request->all());
return redirect()->route('trainings.index')
->with('success', 'Add');
}
}
Я думаю, что моя проблема здесь с часами?
$conflictRevision = Revision::where('fk_motorbike', $fk_motorbike)
->whereDate('date_revision_start', "<=" , Carbon::parse($date_seance))
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->whereDate('date_revision_end', "<=" , Carbon::parse($date_seance))
->first();
Я думаю, что вы заранее.