Как настроить репозиторий Doctrine MongoDB в сервис-контейнере Symfony 2

Как мне правильно настроить контейнер службы в моем приложении Symfony 2 для поддержки пользовательских репозиториев документов?

Что у меня есть до сих пор:

services:
  acme.repository_user:
    class: Acme\Repository\UserRepository
    arguments: [@doctrine.odm.mongodb.document_manager]

Однако, когда я смотрю на конструктор класса DocumentRepository, от которого наследует мой UserRepository, я вижу следующие аргументы:

public function __construct(DocumentManager $dm, UnitOfWork $uow, Mapping\ClassMetadata $class)

Кажется, я внедрил диспетчер документов, но как мне внедрить единицу работы и метаданные класса?


person Luke    schedule 19.07.2014    source источник


Ответы (1)


Попробуйте определить службу как (извините за xml):

<service id="acme.repository_user"
             class="Acme\Repository\UserRepository"
             factory-service="doctrine.odm.mongodb.document_manager"
             factory-method="getRepository"
             public="false">
    <argument>AcmeBundle:User</argument>
</service>
person kapa89    schedule 19.07.2014
comment
Ах. В основном почти то же самое, что и настройка ORM. Спасибо. - person Luke; 20.07.2014
comment
И вот соответствующий документ: symfony.com/doc/current/components/dependency_injection / - person j0k; 30.01.2015