Doctrine \ ODM \ MongoDB \ Query \ Builder的独立使用

时间:2011-11-13 18:23:17

标签: php zend-framework doctrine odm

任何人都使用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?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

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

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