php – laravel Eloquent模型更新事件未被触发
发布时间:2020-12-14 19:38:29 所属栏目:大数据 来源:网络整理
导读:圣诞快乐的家伙! 我是Laravel的新手.刚刚有一个初学者的问题,当我尝试使用服务提供者和模型事件来记录更新信息时. 遵循在线文档:https://laravel.com/docs/5.3/eloquent#events 将所有代码放在一起后,我发现模型事件仅在创建使用时触发,但在编辑用户时从不
圣诞快乐的家伙!
我是Laravel的新手.刚刚有一个初学者的问题,当我尝试使用服务提供者和模型事件来记录更新信息时. 遵循在线文档:https://laravel.com/docs/5.3/eloquent#events 将所有代码放在一起后,我发现模型事件仅在创建使用时触发,但在编辑用户时从不记录任何内容. 我错过了什么吗?感觉$user没有被正确分配.这个从哪里来?来自其他服务提供商? 任何解释或提示将不胜感激! <?php namespace AppProviders; use AppUser; use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { User::creating(function ($user) { Log::info('event creating'); }); User::created(function ($user) { Log::info('event created'); }); User::updating(function ($user) { Log::info('event updating'); }); User::updated(function ($user) { Log::info('event updated'); }); User::saving(function ($user) { Log::info('event saving'); }); User::saved(function ($user) { Log::info('event saved'); }); User::deleting(function ($user) { Log::info('event deleting'); }); User::deleted(function ($user) { Log::info('event deleted'); }); } /** * Register the service provider. * * @return void */ public function register() { // } }
您需要从数据库中检索用户,然后保存该用户以触发事件.例如:
这不会触发更新事件: User::where('id',$id)->update(['username' => $newUsername]); 这将触发更新事件: User::find($id)->update(['username' => $newUsername]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |