在我的方法update()中,我必须检查date_payment
和la date_seance
。
如果date_payment大于date_seance,我必须有一条错误消息
我的检查不起作用...我做了转储。
Training::find($id);
我的dateFormat为空?也许是问题所在?
public function update(Request $request, $id)
{
$request->validate([
'date_seance' => 'required',
'hour_start' => 'required',
'hour_end' => 'required',
'fk_motorbike' => 'required',
'fk_former' => 'required',
'fk_student' => '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');
$datePayment = Payment::where('fk_student', $request->get('fk_student'))
->whereDate('date_payment', ">" , $date_seance)
->first();
if(isset($datePayment)) {
return redirect()->route('trainings.index')
->with('error', 'There is a problem with the payment date! ');
} else {
$trainings = Training::find($id);
$trainings->date_seance = $request->get('date_seance');
...
$trainings->save();
return redirect()->route('trainings.index')
->with('success', 'Update!')->withInput();
}
}
答案 0 :(得分:1)
您的雄辩查询看起来还可以。
您可以尝试以下操作:
->first()
更改为->toSql()
并
转储结果,以便在数据库客户端中轻松调试。在这些情况下,根据我的经验,这通常是格式的小错误或误解。
答案 1 :(得分:1)
使用firstOrFail()
代替first()
。
答案 2 :(得分:0)
我发现我的错误是缓存pfffffff ...:-(
php artisan config:cache
php artisan cache:clear
php artisan view:clear
现在可以了!谢谢您的帮助。