猿问

当值为 null 时,Laravel 将日期设置为 1970 年

有时 laravel 设置日期 1970 当值为 null 时,是否可以将值保存为 NULL 而不是 01-01-1970?


 'start_date' => date('Y-m-d', strtotime($request->input('start_date'))),

 'end_date' => $request->has('end_date') ? date('Y-m-d', strtotime($request->input('end_date'))) : NULL,

该代码不起作用。


我怎样才能解决它?


largeQ
浏览 179回答 3
3回答

潇湘沐

根据这个答案In Laravel 5.5+$request->exists: $request->has 的别名$request->has:确定请求是否包含给定的输入项键。$request->filled:确定请求是否包含输入项的非空值。您所需要的一切 - 更改has为filled:'end_date' => $request->filled('end_date') ? date('Y-m-d H:i:s', strtotime($request->input('end_date'))) : NULL,

慕工程0101907

在 MySQL 中,如果日期格式不完整或无效,则会设置为默认值。更新日期函数以包含时间,如果您有日期时间字段,则还必须传递时间。date("Y-m-d H:i:s"); 'start_date' => date('Y-m-d H:i:s', strtotime($request->input('start_date'))),'end_date' => $request->has('end_date') ? date('Y-m-d H:i:s', strtotime($request->input('end_date'))) : NULL,

智慧大石

请尝试以下代码需要检查请求是否可用然后转换为时间'start_date' =>$request->has('start_date') ?date('Ymd', strtotime($request->input('start_date'))) : NULL,'end_date' => $request->has('end_date') ? date('Ymd', strtotime($request->input('end_date'))) : NULL,
随时随地看视频慕课网APP
我要回答