【发布时间】:2015-03-25 13:18:36
【问题描述】:
每次我执行以下操作时:
$user = new User;
$user->name = 'John';
$user->save();
我希望在 MySQL 中将一个名为“modified”的字段更新为 NOW()。我不能使用 Laravel 的时间戳,因为我只使用了一个修改过的字段。我可以依靠 MySQL 来为我做这件事,但我想知道是否有办法在我的 Laravel 模型中实现这一点?也许在保存之前以某种方式使用突变器来设置它?
作为奖励:我将如何做这样的事情$user->modified = "NOW()"? (这显然是错误的,但希望能证明这一点)
【问题讨论】:
-
我猜你可以
SELECT NOW()并分配它。 -
是的,但这是一个额外的查询
-
是的,这是一个额外的查询。如果时区等设置与 MySQL 安装相同,您可以使用 PHP 的
time()。 -
是的!,@Marty 也想到了这一点,但仍然无法解决我的问题。需要一种方法来将那些 MySQL 常量/函数(如
NOW())插入其中。 -
@Prix 我只使用一列。所以我的模型中有
public $timestamps = false;。
标签: php laravel laravel-4 eloquent