Задать вопрос
Fragster
@Fragster
помогло? отметь решением!

Почему не находит модель по параметру маршрута?

В одном роуте происходит непонятная вещь: при Route Model Binding прилетает пустая модель. При этом никаких доп плюшек типа resolveRouteBinding не добавлялось, все по дефолту.

если сделать так:
public function showFile(String $agreement)
  {
    dump($agreement);
    $agreement = Agreement::findOrFail($agreement);
    dump($agreement);
//...
то выводит id и модель.
ElMMPgb.png

Если же сделать так:
public function showFile(Agreement $agreement)
  {
    dump($agreement);
//...
то выводит пустую модель.
hDqGZsg.png

Уже мозг кипит, не могу понять, почему так и куда копать. И такое только у одного маршрута.
Сам маршруты определен так:
Route::prefix('agreements')->controller(AppAgreementsController::class)->group(function () {
  Route::get('', 'index');
  Route::get('approved', 'approved')->middleware(['auth:sanctum', 'ability:app']);
  Route::post('approve', 'approve')->middleware(['auth:sanctum', 'ability:app']);
  Route::get('{agreement}', 'showFile');
});
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Route::get('{agreement:uuid}', 'showFile');

uuid - название вашего поля в модели с этим идентификатором
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы