在Laravel中使用格式:$ table-> date('column_name')时出错

问题描述 投票:0回答:4

我在Laravel中使用日期格式时遇到了一些麻烦。我有一个数据库迁移,其字段如下所示:

$table->date('Date');

然后,在控制器中,我尝试使用以下内容填写此字段:

2019-04-15

但是我收到以下错误:

invalid datetime format: 1292 Incorrect date value: '"2019-04-15"' for column 'Date' at row 1

任何帮助都是在数据库中声明字段'Date'的正确方法将是apreciated。

非常感谢你提前。

laravel date timestamp database-migration
4个回答
0
投票

我认为这与MySQL中严格的日期输入有关。

查看这些答案以获取更多信息。

https://stackoverflow.com/a/47946950/1848660

https://stackoverflow.com/a/48998959/1848660


0
投票

尝试使用Carbon生成日期和时间戳。

这将生成当前日期和时间的时间戳。

Carbon\Carbon::now();

或者您可以解析当前日期并将其转换为碳印章

Carbon\Carbon::parse($date)->toDateTimeString();

文档:https://carbon.nesbot.com/docs/


0
投票

这适用于您的情况:

 $date = "2019-04-15";

 $formatted_date = Carbon::createFromTimestamp(strtotime($date))->format('Y-m-d');

你可以继续测试你的插入物。我测试了这个。您将不会面对1292不正确的日期错误。

  DB::table('yourTable')->insert(['date'=> $formatted_date]);

0
投票

试试这个,

$table->date ? date('Y-m-d', strtotime($table->date)) : '-';

您应该将日期转换为字符串,然后对其应用日期函数以获取不同的日期格式。

© www.soinside.com 2019 - 2024. All rights reserved.