Почему не получается внедрить репозиторий как сервис в symfony3? Всем привет. Помогите пожалуйста разобраться, почему не получается заинжектить репозиторий в сервис как зависимость? Использую symfony3. В symfony2.8 это работало...app.repository.product:
class: AppBundle\Repository\ProductRepository
factory_service: doctrine.orm.entity_manager
factory_method: getRepository
arguments: ["AppBundle:Product"]app.controller.product:
class: AppBundle\Controller\ProductController
arguments: ["@form.factory", "@app.repository.product"]
Выхлоп:Catchable Fatal Error: Argument 2 passed to Doctrine\ORM\EntityRepository::__construct() must be an instance of Doctrine\ORM\Mapping\ClassMetadata, none given....
Проблема решена. Вот рабочий вариант.app.repository.product:
class: AppBundle\Repository\ProductRepository
factory: ["@doctrine.orm.default_entity_manager", getRepository]
arguments: [AppBundle\Entity\Product]
Спасибо за помощь Егору

21 Авг 2019 в 07:05
220 +1
1
Ответы
1

, который помог разобраться с проблемой и предложил рабочий вариант конфигурации сервиса. Вместо использования factory_service и factory_method, было предложено использовать factory с указанием doctrine.orm.default_entity_manager и метода getRepository, передавая аргументом сущность AppBundle\Entity\Product. После внесения этих изменений проблема была успешно решена.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир