Невозможно канонизировать запрос: записи BadValue $or/$and/$nor должны быть полными объектами - DoctrinePhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно канонизировать запрос: записи BadValue $or/$and/$nor должны быть полными объектами - Doctrine

Сообщение Anonymous »

Я пытаюсь преобразовать этот запрос

Код: Выделить всё

db.getCollection('queues').find({
$and:[
{queue: 'testo'},
{$or: [
{$and: [{reserved_at: null}, {available_at:{'$lte':1490323024}}]},
{reserved_at:{'$lte':1490323024}}
]}
]
});
к доктрине, но я получаю эту ошибку.

Код: Выделить всё

Can't canonicalize query: BadValue $or/$and/$nor entries need to be full objects.
Это то, что я пробовал.

Код: Выделить всё

$builder = $this->get('doctrine_mongodb')->getManager()->createQueryBuilder('AppBundle:Ticket');

$builder->findAndUpdate()->addAnd([
$builder->field('queue')->equals($queue),
$builder->addOr([
$builder->addAnd([
$builder->field('reservedAt')->equals(null),
$builder->field('availableAt')->lte($currentTime)
]),
$builder->field('reservedAt')->lte($expiration)
])
])
->sort('id', 'ASC')
->limit(1)
->field('reservedAt')->set($currentTime->getTimestamp());

$job = $builder->getQuery()->execute()->toArray();
Что не так с этим кодом, может кто-нибудь подсказать мне.

Подробнее здесь: https://stackoverflow.com/questions/429 ... ll-objects
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»