@zagamay_ru

Почему не работает DI Laravel именно в одном контроллере?

Добрый день коллеги!

Возникли затруднения с laravel, в нем прекрасно работает DI и я с удовольствием его использую, но создавая очередной котроллер resource для админки, я не могу написать так:

/**
     * Display the specified resource.
     *
     * @param Keywords $keywords
     * @return \Illuminate\Http\Response
     */
    public function show(Keywords $keywords)
    {
        dd($keywords);
    }


Получаю просто модель пустую, вместо Keywords::findOrFail($id).

Метод show принимает $id и laravel должен автоматом распознать мою модель и засунуть в неё этот id, в других контроллерах это работает, но именно в этом нет..
Пробовал и чистить весь кэш, переименовывать модель и контроллер).

Причем пробовал в другом котроллере подставить эту модель и все вывелось прекрасно.
в роутинге так:

Route::resource('/keywords', 'KeywordsController');
Route::resource('/category', 'CategoryController');


Помогите понять почему именно в этом контроллере не работает DI
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@okols90
Выполнить эту команду php artisan route:list найти нужный контроллер. И тут надо посмотреть как называется переменная в /keywords/{??????} и заменить $keywords на то, что тут {??????}.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы