Laravel 如何使用MySQL函数将模型属性设置为当前日期格式?
我有一个模型Laravel 如何使用MySQL函数将模型属性设置为当前日期格式?,laravel,orm,laravel-5,eloquent,Laravel,Orm,Laravel 5,Eloquent,我有一个模型Users,每次用户在loggedin\u的字段中的日志都会更新 $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的比较时,它
Users
,每次用户在loggedin\u的字段中的日志都会更新
$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()');
但这是行不通的。通过调查有说服力的消息来源,我成功地解决了这个问题
$user->loggedin_at = new \Carbon\Carbon();
这就是雄辩用来改变时代的东西
如何使用NOW()
设置时间
我应该使用NOW()
还是继续使用碳纤维更好
最好使用碳,这就是它的用途。Laravel开箱即用,在created_at和Update_at中使用
如果您使用Carbon,还可以使用config/app.PHP中的时区配置来同步PHP的时间和Carbon的“现在”
此外,如果你想改变你从碳中得到的结果,你可以这样做:
$now = Carbon::now(new DateTimeZone('Europe/London'));
//can also be passed as a string
$now = Carbon::now('Europe/London');
我认为使用碳更好。谢谢你,非常感谢你的意见。