Я хочу создать Doctrine Query: (Doctrine 2.3)Doctrine Query из Mysql
SELECT * FROM `car` WHERE `plate` like '%' AND (`datetime` BETWEEN '2013-03-13 22:20:18' AND '2013-03-13 22:20:20') OR (`datetime` BETWEEN '2013-03-13 15:10:18' AND '2013-03-13 15:10:16')
Я попытался следующие, но ее не работает:
$qry = $this->manager()->createQueryBuilder()
->from($this->entity, 'e')
->select('e');
$qry->where('e.plate like :plate');
$qry->setParameter('plate', $plate);
$qry->andWhere(
qry->expr()->between(
'e.datetime',
':dateFrom',
':dateTo'
)
)
->setParameter('dateFrom', $fromdate)
->setParameter('dateTo', $todate);
$qry->orWhere(
$qry->expr()->between(
'e.datetime',
':dateFrom',
':dateTo'
)
)
->setParameter('dateFrom1', $fromdate1)
->setParameter('dateTo1', $todate1);
Выходной сигнал выше запроса:
SELECT e FROM user e WHERE (e.plate like :plate AND (e.datetime BETWEEN :dateFrom AND :dateTo)) OR (e.datetime BETWEEN :dateFrom AND :dateTo)
Я хочу проверить две даты в том же столбце, как я могу проверить? Правильно ли синтаксис? В настоящее время это выглядит так:
(Plate AND (Date)) OR Date)
Случай 1
Но он должен прийти, как следующий за хороший выход.
(Plate) AND ((Date) OR (Date))
Случай 2
В другом случае он должен прийти, как это:
((Plate) or (Plate)) AND ((Date) OR (Date))
Может кто-нибудь помочь мне, что я не являюсь экспертом в Учении Я изучаю!
Что ошибка вы получаете или какое поведение вы видите, когда вы выполняете свой код? – LuigiEdlCarno
Я не получаю данные правильно из-за вывода запроса «OutPut of above». Вы видели (()) латуни, которые создают проблему, я не знаю, как удалить пластину отдельно .. (Plate) AND ((Date) ИЛИ (дата)). – TomPHP
@LuigiEdlCarno вы можете проверить мой обновленный вопрос, а также мои комментарии. – TomPHP