eloquent - 如何为我的所有模型添加相同的事件侦听器?
问题描述
假设我有模型A
、B
和。现在我想听听他们的活动。通常,我会去我的并为每个模型添加事件,如下所示:C
D
created
AppServiceProvider
public function boot()
{
A::created(function ($a) {
//some code
});
B::created(function ($b) {
//some code
});
C::created(function ($c) {
//some code
});
D::created(function ($d) {
//some code
});
}
代码是一样的,我想让这个过程更快,因为我实际上有 70++ 模型。那么有没有一种方法可以将单个函数绑定到created
我所有模型的事件上,而不必一个一个地做呢?
编辑:原来我想要的已经在这个问题中了,但是由于它已经得到了回答,我不想删除它。
解决方案
创建一个基础模型类并继承您的模型 A、B、C 和 D。基础模型的保存方法将触发一个事件,例如 model_create,您将只在一个地方监听该事件。这样您就可以为您的所有模型处理事件。
推荐阅读
- laravel-5 - Laravel:在多对多关系表上的集合中的 wherePivot 或 where 子句不起作用?
- sql - 在这个 SQL 模式中可以改进什么?
- oracle-data-integrator - 通过 ODI 12c 的平面文件行号
- javascript - 你如何在动态项目上做 hasClass
- ffmpeg - ffmpeg在录制时播放RTSP流
- c# - 通过 GET 方法发送字符串列表参数
- android - 使用改造的多部分请求无法连接到端点
- javascript - 在 Node 中使用 fs.readFile 串行读取文件?
- android - 在 WebView 中隐藏没有 Id 和类名的 HTML 元素
- python - 为什么随机生成器不起作用?Python