【发布时间】:2017-05-30 09:44:06
【问题描述】:
我已经为我的模型创建了 Observer 来更新相关数据:
<?php
namespace App\Observers;
use App\User;
class UserObserver
{
public function updating(User $user)
{
$data = $user->getAttributes();
dd($data);
$user->worker->fill($data['worker']);
$user->push();
}
}
并将其添加到我的模型中:
protected static function boot()
{
parent::boot();
parent::observe(UserObserver::class);
}
但更新模型时更新方法没有触发:
$user = User::byUsername($username)->first();
$user->update($request->all());
我在请求实例中有worker.rate_per_hour 值并将其添加到User 模型的可填充中。
所以我的问题是,我做错了什么?
【问题讨论】:
-
看起来
$object->update($data)不会触发updating或updated事件。试试$object->prop = 'val'; $object->save() -
您决定触发保存事件,而不是更新。
标签: php laravel-5.3 observers laravel-events