如何在Symfony 2服务容器中设置Doctrine MongoDB存储库

3

我应如何在我的Symfony 2应用程序中正确设置服务容器以支持自定义文档存储库?

目前我所拥有的是:

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

然而,当我查看我的UserRepository继承的DocumentRepository类的构造函数时,我可以看到以下参数:

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

我似乎已经注入了文档管理器,但是如何注入工作单元和类元数据?

1个回答

6
尝试将服务定义为(抱歉,这是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>

啊,基本上和配置ORM差不多。谢谢。 - Luke
1
以下是与此相关的文档链接:http://symfony.com/doc/current/components/dependency_injection/factories.html - j0k

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接