I have a problem with my date...
In my form Revision, I have encoded the date for a revision.
On 01/09/2019 to 15/09/2019 from 14:00 to 16:00.
Then, in my form Training, I have encoded a date for a training, for example:
On 15/09/2019 from 08:00 to 10:00.
Normally, the bike is unavailable because the motorbike is in revision.
I don't understand my problem, how should I better manage revisions?
Here is my Controller Training
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 = $request->get('date_seance');
$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');
$conflictTraining1 = Training::where('fk_motorbike', $request->get('fk_motorbike'))
->whereDate('date_seance', "=" , $date_seance)
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->where('fk_former', $request->get('fk_former'))
->first();
$conflictTraining2 = Training::where('fk_motorbike', $request->get('fk_motorbike'))
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->where('fk_former', $request->get('fk_former'))
->first();
$conflictRevision1 = Revision::where('fk_motorbike', $fk_motorbike)
->whereDate('date_revision_start', "<=" , $date_seance)
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->whereDate('date_revision_end', ">=" , $date_seance)
->first();
$conflitFormer = Training::where('fk_former', $fk_former)
->whereDate('date_seance', "=" , $date_seance)
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->first();
$conflitMotorbike = Training::where('fk_motorbike', $fk_motorbike)
->whereDate('date_seance', "=" , $date_seance)
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->first();
$conflitStudent = Training::where('fk_student', $fk_student)
->whereDate('date_seance', "=" , $date_seance)
->where('hour_start', "<=" , $request->get('hour_start'))
->where('hour_end', ">=" , $request->get('hour_end'))
->first();
if(isset($conflictTraining1) || isset($conflictTraining2)){
return redirect()->route('trainings.index')
->with('error', 'The training is already booked');
}
if(isset($conflictRevision1)){
return redirect()->route('trainings.index')
->with('error', 'The bike is already in revision');
}
if(isset($conflitFormer)){
return redirect()->route('trainings.index')
->with('error', 'The former is already booked');
}
if(isset($conflitMotorbike)){
return redirect()->route('trainings.index')
->with('error', 'The bike is already booked');
}
if(isset($conflitStudent)){
return redirect()->route('trainings.index')
->with('error', 'The student is already booked');
}
else{
Training::create($request->all());
return redirect()->route('trainings.index')
->with('success', 'Add');
}
}
Thank you for your help.
via Chebli Mohamed



Aucun commentaire:
Enregistrer un commentaire