我正在使用ajax更新我的模型User
,由于数据库中的数据已成功更新,因此ajax部分可以正常工作,在我的控制器动作中,更新是由:
$user->update($data);
无效部分:
我在模型中使用了boot
的方法updated
,例如:
class User extends BaseModel
{
...
public static function boot()
{
parent::boot();
self::updated(function($model){
Log::info("updated");
dd($model);
});
}
}
该事件从未达到,我不确定为什么。
问题: 我正在尝试在模型更新后执行操作,但事件不会触发。
答案 0 :(得分:3)
这是手册中update()
的内容
通过Eloquent发布批量更新时,不会为已更新的模型触发已保存和已更新的模型事件。这是因为发布批量更新时实际上从未检索过模型。
您需要使用save
来触发事件。像这样:
$user->fill($data);
$user->save();
这当然是假设$user
是模型而不是查询生成器实例。
答案 1 :(得分:0)
您正在静态访问该函数: 而是尝试使用
self::updated(function($model){
Log::info("updated");
dd($model);
});