Я работаю над приложением Laravel 5.6 и у меня есть два следующих API-маршрута:
Route::resource('/partners', 'API\Partners\PartnersController');
Route::resource('/partners/{id}/sales-team', 'API\Partners\SalesTeamController');
В обоих контроллерах я ссылаюсь на пользовательское промежуточное ПО ‘VerifyUserOwnsTeam’ в методе конструкции.
Чтобы получить идентификатор ресурса из запроса в промежуточном программном обеспечении, которое у меня ранее было:
$request->route('partner')
Это работал URL, такой как:
/api/partners/1
Однако сейчас я вызываю новую конечную точку, такую как:
/api/partners/1/sales-team
В моем промежуточном программном обеспечении параметр маршрута запроса для партнера является нулевым. Если я изменю ссылку на:
$request->route('id')
Затем он работает для последней конечной точки, но завершается с ошибкой первой для нулевого значения.
Любая идея, как сделать это последовательным?
вам нужно изменить свой первый маршрут, чтобы принять идентификатор:
Route::resource('/partners/{id?}', 'API\Partners\PartnersController');
Других решений пока нет …