Как получить параметр URL из запроса в Laravel 5?

Я хочу выполнить определенные операции с моделью в промежуточном программном обеспечении. Вот пример того, чего я хочу достичь:

public function handle($request, Closure $next)
{
$itemId = $request->param('item'); // <-- invalid code, serves for illustration purposes only
$item   = Item::find($itemId);

if($item->isBad()) return redirect(route('dont_worry'));

return $next($request);
}

У меня вопрос, как я могу получить нужный параметр из $request?

4

Решение

public function handle(Request $request, Closure $next)
{
$itemId = $request->item;
//..............

}
6

Другие решения

Если параметр является частью URL-адреса и этот код используется в Middleware, вы можете получить доступ к параметру по его имени из указанного маршрута:

public function handle($request, Closure $next)
{
$itemId = $request->route()->getParameter('item');
$item   = Item::find($itemId);

if($item->isBad()) return redirect(route('dont_worry'));

return $next($request);
}

Это основано на наличии маршрута как: '/getItem/{item}'

9

По вопросам рекламы [email protected]