自动注入mongodb文档存储库

时间:2019-04-01 12:25:38

标签: dependency-injection symfony4 doctrine-odm

我需要自动装配文档存储库,但是当我使用实体存储库实现此功能时,我会收到类似波纹管的消息

  

找不到类“ App \ Document \ Product”的文档管理器。   检查您的Doctrine配置,以确保将其配置为   加载此文档的元数据。

<?php

declare(strict_types=1);

namespace App\Repository\MongoDB;

use App\Document\Product;
use Doctrine\Bundle\MongoDBBundle\Repository\ServiceDocumentRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;

class ProductsRepository extends ServiceDocumentRepository implements KeywordsPerformanceReportRepository
{

    public function __construct(RegistryInterface $registry)
    {
        parent::__construct($registry, Product::class);
    }

...
}

doctrine_mongodb.yaml

doctrine_mongodb:
    auto_generate_proxy_classes: true
    auto_generate_hydrator_classes: true
    connections:
        default:
            server: '%env(MONGODB_URL)%'
            options: { username: "%env(MONGODB_USER)%" , password: "%env(MONGODB_PASSWORD)%", authSource: "%env(MONGODB_DB)%" }
    default_database: '%env(MONGODB_DB)%'
    document_managers:
        default:
            auto_mapping: true
            mappings:
                App:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Document'
                    prefix: 'App\Document'
                    alias: App

Product.php

/**
 * @MongoDB\Document(db="mongoDB",
 *     collection="product",
 *     repositoryClass="App\Repository\ProductRepository")
 */
class Product

0 个答案:

没有答案