我正在使用 Lumen 5.2 访问 MySql。 听完查询并记录 SQL 后,我看到了
[object] (Illuminate\\Database\\Events\\QueryExecuted: {\"sql\":\"insert into
`RedEnvelopes` (`User_id`, `amount`, `remain`, `expiredAt`, `to_User_id`,
`message`, `type`, `dividend`, `updatedAt`, `createdAt`) values (?, ?, ?, ?,
?, ?, ?, ?, ?, ?)\",\"bindings\":
[5000219,\"1\",\"1\",1478073412,\"8000228\",\"你的名字\",1,1,\"2016-11-02
15:51:52\",\"2016-11-02 15:51:52\"],\"time\":0.77,\"connection\":
{},\"connectionName\":\"mysql\"})
并使用Model::find()获取记录,返回结果与上面的sql一致。但是当我直接访问MySql服务器并通过SQL获取记录时,createdAt和updatedAt比绑定(bind)值晚了8个小时。
我完全糊涂了。还有其他人遇到过这个问题吗?我需要一些帮助。
最佳答案
我认为这个问题可以通过3个步骤来解决。
首先,将时区设置为您本地的时区。我的是亚洲/上海。请参阅.env
APP_TIMEZONE=Asia/Shanghai
其次,在config/app.php中设置应用时区
'timezone' => env('APP_TIMEZONE'),
最后,将created_at/updated_at列更改为日期时间类型。
关于php - laravel eloquent orm插入查询自动生成创建于并更新于与数据库不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40375134/