Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当值为空时,Laravel将日期设置为1970年_Php_Mysql_Laravel - Fatal编程技术网

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

Php 当值为空时,Laravel将日期设置为1970年,php,mysql,laravel,Php,Mysql,Laravel,有时,当值为null时,laravel会将日期设置为1970,是否可以将值另存为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'))) : NUL

有时,当值为null时,laravel会将日期设置为1970,是否可以将值另存为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,
此代码不起作用


如何解决此问题?

在MySQL中,如果日期格式不完整或无效,则将其设置为默认值

更新日期函数以包含时间,如果有datetime字段,则还必须传递时间

dateY-m-d H:i:s


在MySQL中,如果日期格式不完整或无效,则将其设置为默认值

更新日期函数以包含时间,如果有datetime字段,则还必须传递时间

dateY-m-d H:i:s


请尝试下面的代码

需要检查请求是否可用,然后转换为时间

“开始日期”=>$request->是否有“开始日期”?日期'Y-m-d',strotime$请求->输入'start_date':空


“结束日期”=>$request->是否有“结束日期”?日期'Y-m-d',strotime$request->输入'end\u date':NULL,

请尝试以下代码

需要检查请求是否可用,然后转换为时间

“开始日期”=>$request->是否有“开始日期”?日期'Y-m-d',strotime$请求->输入'start_date':空

“结束日期”=>$request->是否有“结束日期”?日期'Y-m-d',strotime$请求->输入'end_date':空,根据Laravel 5.5+

$request->exists:$request->has的别名

$request->has:确定请求是否包含给定的输入项 钥匙

$request->filled:确定请求是否包含非空值 对于输入项

所有您需要的-更改必须填写:

根据Laravel 5.5中的规定+

$request->exists:$request->has的别名

$request->has:确定请求是否包含给定的输入项 钥匙

$request->filled:确定请求是否包含非空值 对于输入项

所有您需要的-更改必须填写:


这是您的控制器代码吗?是的,在我的控制器文件中这是您的控制器代码吗?是的,在我的控制器文件中是的,该字段不可为空,因此它会给出一个默认值谢谢您的回复。我的值是日期格式,而不是日期时间。我还需要添加它吗?H:I:s?不,对于mysql文档,日期类型用于带有日期部分但没有时间部分的值。MySQL以“YYYY-MM-DD”格式检索并显示日期值。支持的范围是“1000-01-01”到“9999-12-31”。这也意味着您没有插入有效的日期值,并且因为mysql正在使用其默认值。是的,该字段不可为空,因此它会提供一个默认值感谢您的回复。我的值是日期格式,而不是日期时间。我还需要添加它吗?H:I:s?不,对于mysql文档,日期类型用于带有日期部分但没有时间部分的值。MySQL以“YYYY-MM-DD”格式检索并显示日期值。支持的范围为“1000-01-01”到“9999-12-31”。这也意味着您没有插入有效的日期值,并且由于mysql使用其默认值。
 
'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,

'end_date' => $request->filled('end_date') ? date('Y-m-d H:i:s', strtotime($request->input('end_date'))) : NULL,