Laravel DB:table created_at日期与DB不同

时间:2018-06-04 22:41:27

标签: laravel laravel-5 vagrant homestead php-carbon

运行Laravel 5.6,我发现这个奇怪之处:<​​/ p>

> php artisan tinker

> App\Users::all();
...
created_at: "2018-06-04 16:26:00",
updated_at: "2018-06-04 16:26:00",
....

使用以下方法在Laravel模型中引入相同的元素:

$users = DB::table('users')->get();
$users->first()->created_at
//2018-04-06 15:59:01

这是同一行。 35分钟的延迟是奇怪的,但可能是由于Homestead延迟(?)我不知道为什么月份和日期被重新排列。

在我的中间件中,我设置了区域设置信息:

setlocale(LC_TIME, env('APP_LOCALE_CODE')); //de_DE.UTF-8
date_default_timezone_set(env('APP_LOCALE_TIMEZONE')); //APP_LOCALE_TIMEZONE=Europe/Berlin

这里有人有想法吗?

1 个答案:

答案 0 :(得分:0)

原来我需要多个连接和groupby排序的查询,所以我使用DB :: table而不是eloquent。这样做时,您需要注意select语句,尤其是对于像created_at这样的常见数据库字段。基本上它正在拉入另一个“created_at”字段,幸运的是,恰好是今天当前日期的反转,导致最初的想法是格式化错误。