laravel - 在 laravel 8 中创建用户时,如何在模型中触发事件?
问题描述
我有一个名为 EventtypeController 的控制器,它有一个存储功能,我想在创建用户时触发此事件。我尝试阅读 laravel doc 上的事件页面,但还没有运气。
每当创建用户时,如何在用户模型中触发该 eventtype create 函数?
这是我尝试过的:
public function boot()
{
User::creating(function($model) {
var_dump($model->name);
});
}
它说:“方法 'App\Models\User::boot()' 与方法 'Illuminate\Foundation\Auth\User::boot()' 不兼容。”
解决方案
使用像这样的观察者
class UserObserver
{
public function created(User $user)
{
// do something when a user is created
}
}
class EventServiceProvider extends ServiceProvider
{
public function boot()
{
User::observe(UserObserver::class);
}
}
推荐阅读
- git - git filter-branches 不覆盖远程分支
- python - 难以格式化 tf.example 以向 Tensorflow 服务发出请求
- python - 尝试使用 CoCalc (sage) 绘制需要模数的函数的解
- laravel - Laravel 5.7 - Spark API 身份验证会话问题
- python - 使用 RadioButtonGroup、Python Bokeh 更改网格图
- excel - 我无法将带有 html 的 woocommerce 产品描述导出到 csv
- entity-framework - 实体框架尝试选择不存在的列
- jsonparser - 需要验证 json 并且不想使用 jsonparser 因为它在 python 之外
- java - [path] 中的 Class-Path 清单属性引用了一个或多个不存在的文件
- javascript - 将 AngularJS 变量传递给 html 视图中的脚本标记