@1alexandr

Почему не получается внедрить репозиторий как сервис в 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]

Спасибо за помощь Егору
  • Вопрос задан
  • 1192 просмотра
Решения вопроса 1
@want2know
Могу ошибаться, т.к. с 3.0 не работал. Но способ приведенный в вашем примере был действителен в 2.3 и 2.7. Попробуйте сделать как здесь. О чем свидетельствуют комменты из поста Matthias Noback.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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