php - 如何在 Symfony2 服务容器中设置 Doctrine MongoDB 存储库

标签 php symfony doctrine-orm doctrine-odm

如何在我的 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)

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

最佳答案

尝试将服务定义为(对 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>

关于php - 如何在 Symfony2 服务容器中设置 Doctrine MongoDB 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837381/

相关文章:

php - 有什么方法可以使用 Laravel 的验证语法来验证外键吗?

php - Symfony2 access_control 与 i18n 路由

php - Cakephp 3.x hasOne 插入默认外键

Symfony2 Doctrine 合并

symfony - 在 Symfony2 中的每个请求上为 Doctrine 过滤器设置参数

debugging - 如何使用自定义数据扩展 Symfony2 调试工具栏?

php - 选择获取每天的数据

mysql - 左加入学说 2

php - 如何从学说中的连接表中检索结果

php - 学说 2 分页