Попытка получить свойство non-object error в промежуточном по Laravel при передаче параметров маршрута

Я пытаюсь прочитать параметр маршрута из промежуточного ПО.
Маршрут определяется как:

Route::get('/tasks/{task_id}','TaskController@search')->middleware('test');

Ошибка возникает в промежуточном ПО, которое определяется как:

namespace AppHttpMiddleware;

use Closure;
use AppTask;
class test
{
    /**
    * Handle an incoming request.
 *
 * @param  IlluminateHttpRequest  $request
 * @param  Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    print_r($request->route()->parameter('task_id'));
    /*$result=Task::where('id','=',$id)->get()->count();
    if($result==0)
        return "This id doesn't exist!";

    return $next($request);*/
}
}

3 ответа

  1. используйте это, где task_id должен быть именем искомого параметра

    $request->route('task_id')
    
  2. Проблема заключалась в том, что middleware хочет вернуть перенаправление в любое время.