Можно ли добавить некоторые параметры в ресурс авторизации создания? - PullRequest
0 голосов
/ 02 октября 2019

У меня есть эта политика: (выдержка из GroupPolicy.php)

public function create(User $user)
{
    return (
        $user->role_id === 'SUPERADMIN'
        ||
        $user->role_id === 'ADMIN'
    );
}

Я хотел бы добавить некоторые другие условия в эту политику, добавив другой объект, полученный из моего контроллера. Если я понял, этот метод 'create' принимает только подключенного пользователя.

Возможно ли и как добавить другие параметры для этой политики?

Merci Dom

1 Ответ

1 голос
/ 02 октября 2019

В метод политики вы можете передать столько аргументов, сколько захотите, хотя они должны быть в массиве:

Ваш контроллер:

public function create()
{
    $var1 = new \stdClass();
    $var2 = 123;
    $this->authorize('create', [User::class, $var1, $var2]);
}

Ваша политика:

public function create(User $user, $var1, $var2)
{
    return (
        $user->role_id === 'SUPERADMIN'
        ||
        $user->role_id === 'ADMIN'
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...