1

有人使用 Doctrine 中的 Query\Builder 作为独立工具吗?

查询管理器似乎需要在 MongoDB 中定义请求文档的类。

如果您有一个定义的类,例如:

<?php

namespace Documents;

/** @Document */
class User
{
    // ...

    /** @Field(type="string") */
    private $username;
}

然后您可以执行以下操作:

<?php

$user = $dm->createQueryBuilder('User')
    ->field('username')->equals('jwage')
    ->getQuery()
    ->getSingleResult();

有没有办法在不定义文档类的情况下使用 Query\Builder ?

提前感谢您的帮助。

4

1 回答 1

1

只要拥有 ClassMetaData,就可以使用 QueryBuilder。此类元数据是关于将类属性映射到内部信息,例如数据类型、关联...

您可以在没有真实类的情况下定义此类元数据。有不同的方法,但其中之一是使用Doctrine\ODM\MongoDB\Tools\DisconnectedClassMetadataFactory类,并使用 yaml 或 xml 映射提供相关信息。

您必须使用好的classMetadataFactoryName选项配置您的 DocumentManager。

于 2012-02-12T14:13:07.263 回答