Так что я не знаю тип документа, который хочу получить, и поэтому не знаю, как получить этот документ в доктрине. Обычно я бы somethink так:Doctrine CouchDB ODM: Как получить документ, когда вы не знаете его тип
$dm->find('User', 12345);
И я должен получить класс пользователя. Но что, если я не знаю тип документа? Он хранится в документе, поэтому доктрина должна понять это. Я должен простой вызов
$dm->find(12345); //of course this doesn't work
и Учение должны посмотреть в поле «тип» в документе и возвращает класс пользователя.
Конечно, я могу сделать это вручную, но, возможно, есть метод Doctrine для этой проблемы?
Так что мой вопрос: как получить (используя доктрину) документ и создать экземпляр правильного класса (в зависимости от поля типа, найденного в документе)?
исправьте меня, если я ошибаюсь, но я думаю, что получение документов по _id не связано с прохождением через все документы? Я думаю, что вид «по id» уже находится в памяти, и вызов http: //couch.../db_name/12345 будет очень быстро доставать мне документ с идентификатором: 12345, потому что он hashed. –
Они не должны повторяться каждый раз. Результаты просмотра инкрементно сохраняются в структуре B-дерева для более быстрого извлечения, но в первый раз они должны быть повторены. Обратите внимание, что в моем ответе я сказал «перебирать каждое свойство», под которым я подразумеваю свойства каждого из документов, оперированных в представлении, потому что вы искали определенное значение в дочернем свойстве. – dwerner