如何为所有模型而不是单独实现雄辩的“保存”事件

bat*_*hir 1 laravel eloquent laravel-5 laravel-events

根据 laravel雄辩事件的文档,所有雄辩事件都是根据每个模型单独触发的,有没有办法使用“创建”事件或任何其他雄辩事件由所有模型触发

例如,如果创建任何模型,则会触发事件 A

Ste*_*teD 5

扩展模型类:

use Auth;
use Illuminate\Database\Eloquent\Model;

class GeneralModel extends Model
{
  public static function boot()
  {
    parent::boot();

    static::creating(function ($model) {
        if (Auth::user()) {
            $model->created_by = Auth::user()->id;
            $model->updated_by = Auth::user()->id;
        }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

当你说创建一个说property对象时,它就会被触发。将其用于您需要的所有型号。

class Property extends GeneralModel
{
  //..
}
Run Code Online (Sandbox Code Playgroud)