belongsToMany(AdminPermission::class, 'admin_role_permissions', 'role_id', 'permission_id'); } /** * A role belongs to many users. * * @return BelongsToMany */ public function administrators() : BelongsToMany { $pivotTable = config('admin.database.role_users_table'); $relatedModel = config('admin.database.users_model'); return $this->belongsToMany($relatedModel, $pivotTable, 'role_id', 'user_id'); } /** * Detach models from the relationship. * * @return void */ protected static function boot() { parent::boot(); static::deleting(function ($model) { $model->administrators()->detach(); $model->permissions()->detach(); }); } public static function roleArr() { return self::when(get_subsite_id() > 0, function ($query) { $query->whereIn('subsite_id', [-1,get_subsite_id()]); })->pluck('name', 'id'); } }