Я использую привязку модели в маршруте и хочу обработать случай, когда идентификатор отсутствует в базе данных. Согласно документации, вы можете использовать отсутствующий метод , чтобы справиться с этой возможностью. Можно ли получить идентификатор, который был передан на маршрут?
Используя следующий код, я не могу найти атрибут с идентификатором при тестировании маршрута /document/idThatDoesNotExist
:
Route::middleware(['throttle:document'])
->resource('document', DocumentController::class)
->only(['show'])
->missing(function (Request $request) {
$request->dd();
});
В качестве временного решения я использовал следующий фрагмент кода для получения идентификатора, но мне интересно, есть ли лучший способ:
$document_id = preg_replace("/.*/document/(.*)/", "$1", $request->getRequestUri());
вы можете извлечь значения параметров маршрута из объекта $request
, используя метод route('param_name', 'default_value')
, в вашем случае:
Route::middleware(['throttle:document'])
->resource('document', DocumentController::class)
->only(['show'])
->missing(function (Request $request) {
dd($request->route('document'));
});