назначить промежуточное ПО для контроллера laravel - PullRequest
0 голосов
/ 12 мая 2018

У меня есть проект laravel 5.6 и я зарегистрировал промежуточное ПО под названием permissions. Мне нужно назначить это промежуточное ПО в контроллере, но не для всего controller - только для одного function без использования __construct().

Я имею в виду, я хочу назначить это в:

public function index()
{
    $this->middleware('permission');
}

Я пробовал это так, но это не работает. Это работает, когда я использую его внутри:

public function __construct()
{
    $this->middleware('permission');
}

Но мне это не нужно. Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Вот ваше решение:

public function __construct()
{
    $this->middleware('permission')->only('index');
}
0 голосов
/ 12 мая 2018

Промежуточное программное обеспечение может быть зарегистрировано только в конструкторе.Вы можете использовать метод only(), например:

function __construct()
{
    $this->middleware('permission')->only('index');
}

Я полагаю, что вы также можете передать массив промежуточного программного обеспечения.Есть также метод except(), который делает обратное.

...