Автономное использование Doctrine \ ODM \ MongoDB \ Query \ Builder - PullRequest
1 голос
/ 13 ноября 2011

Кто-нибудь использует Query \ Builder из Doctrine в качестве автономного инструмента?

Похоже, что Query Manager необходим определенный класс запрашиваемого документа в 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 Ответ

1 голос
/ 12 февраля 2012

Вы можете использовать QueryBuilder, как только у вас появится ClassMetaData. Метаданные этого класса предназначены для сопоставления свойств класса с внутренней информацией, такой как типы данных, ассоциации, ...

Вы можете определить метаданные этого класса, не имея реальных классов. Существуют разные подходы, но одним из них будет использование класса Doctrine\ODM\MongoDB\Tools\DisconnectedClassMetadataFactory и подача связанной информации с использованием сопоставления yaml или xml.

Вам придется настроить DocumentManager с хорошим вариантом classMetadataFactoryName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...