Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
Carbon.php第425行中的Laravel InvalidArgumentException:SQL数据库中的跟踪数据_Php_Mysql_Sql Server_Laravel - Fatal编程技术网

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。很好的解释!