本文主要是介绍Laravel 模型观察器 Observer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
laravel 的模型观察器Observer
首先新建一个 observer
php artisan make:observer TestObserver
敲下回车后会自动生成这个文件
可以使用以下10个方法
creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored。
文件生成后 我们需要在 app/Providers/AppServiceProvider.php,就是哪一个模型需要用到这个观察器
...public function boot(){// 这个是我的测试模型\App\Models\TestModel::observe(\App\Observers\TestObserver::class);}
然后在 app/Observers/TestObserver.php 新建一个方法 saving (保存前调用)
.../*** @param TestModel $testModel 这里需要继承一个模型,就是你注册时的模型*/public function saving(TestModel $testModel){$testModel->phone = 10086;}
编写测试接口 然后通过postman请求接口
/*** @param Request $request* @param TestModel $testModel*/public function store(Request $request,TestModel $testModel){$testModel->username = '用户_' . time();$testModel->save();}
刷新数据库
个人总结
使用模型观察器的好处也是有挺多,假如你需要读取的数据放在缓存中,但是新增或修改数据的时候需要通知一下缓存,把之前的缓存给删掉,然后重新生成缓存!这就用到了 saved 方法!其实还有很多用处的,这就需要根据你个人的需求去挖掘了
参考链接
这篇关于Laravel 模型观察器 Observer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!