'array' ]; // user public function user() { return $this->belongsTo(User::class); } // provider module public function provider_module() { return $this->belongsTo(ProviderModule::class); } // workorders public function workorders() { return $this->hasMany(Workorder::class); } // module 远程一对一 public function module() { return $this->hasOneThrough(Module::class, ProviderModule::class); } // scope public function scopeActive($query) { return $query->where('status', 'running')->where('price', '!=', 0); } // on create protected static function boot() { parent::boot(); static::creating(function ($model) { $model->load(['provider_module']); $model->provider_module->load(['provider', 'module']); // add to queue }); } }