diff --git a/src/Entrust/Traits/EntrustPermissionTrait.php b/src/Entrust/Traits/EntrustPermissionTrait.php index d2a460f6..81ae2d6a 100644 --- a/src/Entrust/Traits/EntrustPermissionTrait.php +++ b/src/Entrust/Traits/EntrustPermissionTrait.php @@ -1,4 +1,9 @@ -belongsToMany(Config::get('entrust.role'), Config::get('entrust.permission_role_table'), Config::get('entrust.permission_foreign_key'), Config::get('entrust.role_foreign_key')); + return $this->belongsToMany( + Config::get('entrust.role'), + Config::get('entrust.permission_role_table'), + Config::get('entrust.permission_foreign_key'), + Config::get('entrust.role_foreign_key') + ); } /** - * Boot the permission model - * Attach event listener to remove the many-to-many records when trying to delete + * Boot the permission model. + * Attach event listener to remove the many-to-many records when trying to delete. * Will NOT delete any records if the permission model uses soft deletes. - * - * @return void|bool */ - public static function boot() + public static function bootEntrustPermissionTrait(): void { - parent::boot(); - - static::deleting(function($permission) { - if (!method_exists(Config::get('entrust.permission'), 'bootSoftDeletes')) { - $permission->roles()->sync([]); + static::deleting(function ($permission) { + if (! method_exists(Config::get('entrust.permission'), 'bootSoftDeletes')) { + $permission->roles()->detach(); } - - return true; }); } }