Symfony2. Как правильно использовать репозиторий в контроллере? Здравствуйте, уважаемые знатоки. Подскажите мне, пожалуйста что я делаю не так и как победить эту ошибку:Catchable Fatal Error: Argument 1 passed to Allergo\MainBundle\Controller\HomePageController::__construct() must be an instance of Allergo\MainBundle\Entity\CategoryRepository, none given, called in /var/www/allergo.loc/app/cache/dev/classes.php on line 2456 and defined
а вот сам код:
.../Resourse/config/controllers.ymlservices:
allergo_main.home_page_controller:
class: Allergo\MainBundle\Controller\HomePageController
arguments: [ @repository.category ]
../Resourse/config/repositories.ymlservices:
repository.category:
class: Allergo\MainBundle\Entity\CategoryRepository
factory_service: doctrine.orm.entity_manager
factory_method: getRepository
arguments: [ Allergo\MainBundle\Entity\Category ]# .../Resourse/config/services.yml
imports:
- { resource: repositories.yml }
- { resource: controllers.yml }
services:
# allergo_main.example:
# class: Allergo\MainBundle\Example
# arguments: [@service_id, "plain_value", %parameter%]
../Controller/HomePageController.php/**
* @var CategoryRepository
*/
private $categoryRepository;
/**
* @param CategoryRepository $categoryRepository
*/
public function __construct
(
CategoryRepository $categoryRepository
)
{
$this->categoryRepository = $categoryRepository;
}
app/config/config.ymlimports:
- { resource: "@AllergoMainBundle/Resources/config/services.yml" }
- { resource: parameters.yml }
- { resource: security.yml }
....

21 Авг 2019 в 07:08
179 +1
0
Ответы
1

Ошибка возникает из-за того, что Symfony не может найти репозиторий категорий при создании экземпляра контроллера HomePageController. Для исправления этой проблемы вы можете попробовать следующее:

Убедитесь, что вы правильно сконфигурировали сервис для репозитория категорий в файле repositories.yml.

Убедитесь, что вы импортировали файл repositories.yml в services.yml (как показано в вашем примере).

Попробуйте изменить аргументы в файле controllers.yml следующим образом:

arguments: [ @repository.category ]

на

arguments: [ @repository.category.entity_manager_name ]Кроме того, убедитесь, что вы используете правильные пространства имен и названия классов в своем коде.

Если после выполнения этих шагов проблема не будет решена, попробуйте проверить свою конфигурацию и убедиться, что все настроено правильно.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 017 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир