Laravel Spat ie Разрешение нескольких моделей на разрешение - PullRequest
0 голосов
/ 21 марта 2020

Я знаю, как назначить права доступа пользователю.

class User extends Authenticatable
{
   use HasRoles;
}

$user->givePermissionTo('edit articles');

В этом случае в модель_в_модели будет вставлена ​​таблица следующим образом.

permission_id=> $permission_id
model_type=> "App\Models\User"
model_id=> $user_id

У меня есть Team Model, и я хочу дать разрешение команде тоже. Это то, что я сделал.

class Teamextends Authenticatable
{
   use HasRoles;
}

$team->givePermissionTo('edit articles');

Я хотел этого результата,

permission_id=> $permission_id
model_type=> "App\Models\Team"
model_id=> $team_id

Но он не сработал для меня. У кого-нибудь есть опыт, подобный вышеуказанным вещам? Должен ли я сделать еще один стол для этого? как team_has_permission?

1 Ответ

0 голосов
/ 21 марта 2020

Я нашел решение!

class Team extends Authenticatable
{
   use HasRoles;
   protected $guard_name = 'web';
}

$team->givePermissionTo('edit articles');

Это сработало хорошо. В таблице БД он сохранен следующим образом.

permission_id=> $permission_id
model_type=> "App\Models\Team"
model_id=> $team_id

Действительно потрясающе!

...