Zak*_*rki 5 php events laravel laravel-5
我正在使用 ajax 来更新我的模型User,ajax 部分工作正常,因为数据已在数据库中成功更新,在我的控制器操作中执行的更新为:
$user->update($data);
Run Code Online (Sandbox Code Playgroud)
不起作用的部分:
我在模型中使用了boots 方法,例如:updated
class User extends BaseModel
{
...
public static function boot()
{
parent::boot();
self::updated(function($model){
Log::info("updated");
dd($model);
});
}
}
Run Code Online (Sandbox Code Playgroud)
该事件从未发生过,我不知道为什么。
问题: 我尝试在模型更新后执行操作,但事件未触发。
这是手册的说明update()
通过 Eloquent 发出批量更新时,不会为更新的模型触发保存和更新的模型事件。这是因为在发布批量更新时从未实际检索模型。
您需要使用save来触发事件。就像是:
$user->fill($data);
$user->save();
Run Code Online (Sandbox Code Playgroud)
当然,这是假设这$user是一个模型而不是查询构建器实例。
| 归档时间: |
|
| 查看次数: |
1981 次 |
| 最近记录: |