【发布时间】:2020-02-15 18:53:48
【问题描述】:
我必须在我的TrainingController 中添加两个变量 => start_time & stop_time。
在我的旧代码中,我有这个:
$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();
我的问题是我想做一个检查。如何避免重复我的请求 $conflictTraining 和 start_time & stop_time..
这是我现在的代码:
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'
]);
$start_time = Carbon::createFromFormat('d-m-Y H:s', $date_seance . ' ' . $hour_start);
$stop_time = Carbon::createFromFormat('d-m-Y H:s', $date_seance . ' ' . $hour_end);
$conflictTraining = Training::where('fk_motorbike', $request->fk_motorbike)
->where('start_time', "<=", $start_time)
->where('stop_time', ">=", $stop_time)
->first();
if (isset($conflictTraining)) {
return redirect()->route('trainings.index')
->with('error', 'training duplicate');
}
$data = $request->all();
$data['start_time'] = $start_time;
$data['stop_time'] = $stop_time;
Training::create($data);
return redirect()->route('trainings.index')
->with('success', 'Add');
}
提前感谢您的帮助。
【问题讨论】:
-
请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。请参阅How to Ask 页面以获得澄清此问题的帮助。