任何人都使用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?
提前感谢您的帮助。
答案 0 :(得分:1)
只要有ClassMetaData,就可以使用QueryBuilder。 此类元数据是关于将类属性映射到内部信息,例如数据类型,关联......
您可以在不使用实际类的情况下定义此类元数据。
有不同的方法,但其中一种方法是使用Doctrine\ODM\MongoDB\Tools\DisconnectedClassMetadataFactory
类,并使用yaml或xml映射提供相关信息。
您必须使用良好的classMetadataFactoryName
选项配置DocumentManager。