laravel 的模型观察器Observer
首先新建一个 observer
php artisan make:observer TestObserver
敲下回车后会自动生成这个文件
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/db922411a47559f2396e60b21fe844b6.png)
可以使用以下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 (保存前调用)
.
.
.
public function saving(TestModel $testModel)
{
$testModel->phone = 10086;
}
编写测试接口 然后通过postman请求接口
public function store(Request $request,TestModel $testModel)
{
$testModel->username = '用户_' . time();
$testModel->save();
}
刷新数据库
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/12f2bc3f3231b674fe3f571993066ba2.png)
个人总结
使用模型观察器的好处也是有挺多,假如你需要读取的数据放在缓存中,但是新增或修改数据的时候需要通知一下缓存,把之前的缓存给删掉,然后重新生成缓存!这就用到了 saved 方法!其实还有很多用处的,这就需要根据你个人的需求去挖掘了