我有一个带有静态updateByHash()
方法的Laravel 5.2模型:
class SDNotificationMessage extends Eloquent {
public static function updateByHash($hash) {
$notifications = self::where('notification_id', 5)->whereRaw('MATCH(hash) AGAINST("'.$hash.'")');
if ($notifications->count() === 0) {
return false;
} else {
$notifications->update(array('foo_column' => 'bar_value'), array('timestamps' => false));
}
}
}
上面else
中的更新应不更新记录“updated_at
列。根据模型的结果调用更新,根据 this signature ,我应该可以正常使用它。不会抛出任何错误,但会触及时间戳。
我做错了什么?事实上这个方法是静态的吗?
我在 Laracast 找到了解决方案。