Carbon.php第425行中的Laravel InvalidArgumentException:SQL数据库中的跟踪数据
我正在将我的Carbon.php第425行中的Laravel InvalidArgumentException:SQL数据库中的跟踪数据,php,mysql,sql-server,laravel,Php,Mysql,Sql Server,Laravel,我正在将我的laravel 5.2应用程序从MYSQL更新到SQL数据库,在出现此异常后,我一直面临数据格式问题 InvalidArgumentException in Carbon.php line 425: Trailing data 堆栈跟踪如下所示 in Carbon.php line 425 at Carbon::createFromFormat('Y-m-d H:i:s.000', '2016-11-20 13:56:28.0000000') in Model.php line 2
laravel 5.2
应用程序从MYSQL更新到SQL数据库,在出现此异常后,我一直面临数据格式问题
InvalidArgumentException in Carbon.php line 425:
Trailing data
堆栈跟踪如下所示
in Carbon.php line 425
at Carbon::createFromFormat('Y-m-d H:i:s.000', '2016-11-20 13:56:28.0000000') in Model.php line 2990
at Model->asDateTime('2016-11-20 13:56:28.0000000') in Model.php line 2668
at Model->getAttributeValue('created_at') in Model.php line 2634
当我为了调试目的删除carbon.php文件中的尾随四个零时,问题就解决了
知道如何在模型端或任何其他解决方案上解决此问题吗???如果是微秒,请尝试将其放入模型文件中
protected $dateFormat = 'Y-m-d H:i:s.u';
这似乎是一种datetime2
格式,请尝试使用
protected $dateFormat = 'Y-m-d H:i:s+';
当laravel尝试将纯文本字符串转换为Carbon对象时,它会调用以下命令以获取格式:
/**
* Get the format for database stored dates.
*
* @return string
*/
protected function getDateFormat()
{
return $this->dateFormat ?: $this->getConnection()->getQueryGrammar()->getDateFormat();
}
也就是说,您有几个选择:
dateFormat
属性,以便正确输入格式,或illighted\Database\Eloquent\Model
类,创建一个设置了dateFormat
的基本Model
类,然后从中创建和扩展模型类illumb\Database\Query\Grammars\SqlServerGrammar
以提供适合您需要的日期格式,并告诉Elount使用您的语法而不是内置的SqlServerGrammar祝你好运 不要更改carbon.php。从AttingNazmul检查您的日期字段,我只是出于调试目的才这样做的,我已经将它还原回来了。好的..我已经多次面临这个问题。当我们使用carbon语法不正确的carbon格式化日期时,就会出现问题。因此,请检查使用碳转换的日期。或者你可以分享你的model&controllerThanks@steD代码,这正是datetime2的问题。我已经将我的DB模式更改为datetime。很好的解释!