【发布时间】:2016-01-10 01:23:39
【问题描述】:
我有一个模型Users 并且每次用户登录loggedin_at 字段都会更新。
$user = User::find(1);
$user->token = md5(time());
$user->loggedin_at = date('Y-d-m H:i:s');
$user->save();
return $user;
但我已经从经验中知道,有时 MySQL 时间和 PHP 时间之间存在差异。因此,当您使用 time > NOW() - INTERVAL 1 HOUR 之类的比较时,它现在可能会正常工作,因为您从 PHP 设置日期并从 MySQL 进行比较。
无论如何我的问题是我想使用NOW() 来更新我的日期。我试试
$user->loggedin_at = DB::raw('NOW()');
但这不起作用。通过查看 Eloquent 的源代码,我已经设法解决了这个问题
$user->loggedin_at = new \Carbon\Carbon();
这就是 Eloquent 用来改变时间的方法。
- 如何使用
NOW()设置时间? - 我应该使用
NOW()还是继续使用 Carbon 更好?
【问题讨论】:
-
我觉得还是用 Carbon 比较好。
-
谢谢,非常感谢您的意见。
标签: laravel orm laravel-5 eloquent