【发布时间】:2012-07-18 04:27:21
【问题描述】:
我会因为这个我没有得到修复的最小错误而发疯。我想在两天之间选择条目,下面的例子说明了我所有的失败:
选择 1。
$qb->where('e.fecha > ' . $monday->format('Y-m-d'));
$qb->andWhere('e.fecha < ' . $sunday->format('Y-m-d'));
结果(0 个条目):
SELECT r0_.id_reservacion AS id_reservacion0, r0_.fecha AS fecha1, r0_.cliente AS cliente2
FROM reservacion r0_
WHERE (r0_.fecha > 2012 - 07 - 16) AND (r0_.fecha < 2012 - 07 - 22)
选择 2
$qb->add('where', 'e.fecha between 2012-01-01 and 2012-10-10');
结果(0 个条目):
SELECT r0_.id_reservacion AS id_reservacion0, r0_.fecha AS fecha1, r0_.cliente AS cliente2
FROM reservacion r0_ WHERE r0_.fecha
BETWEEN 2012 - 01 - 01 AND 2012 - 10 - 10
这是我的当前条目表:
id fecha cliente
1 2012-07-16 00:00:00 2
2 2012-07-16 13:00:00 4
3 2012-07-22 23:00:00 4
编辑 1
为了评估 sql 以避免疑虑,我运行了这个查询:
$qb->where('e.fecha > ' . $sunday->format('Y-m-d'));
结果(3 个条目):
SELECT r0_.id_reservacion AS id_reservacion0, r0_.fecha AS fecha1, r0_.cliente AS cliente2
所以,看起来 sql 不是问题。 FROM 预订 r0_ WHERE r0_.fecha > 2012 - 07
【问题讨论】:
-
只是一个问题,直到专家来 - 您需要制作这些日期字符串吗?我的意思是,例如,第一个生成的 WHERE 有
r0_.fecha > 2012 - 07 -16- 它不应该看起来更像r0_.fecha > '2012-07-16'或类似的吗? -
完全同意你的看法。但请查看更新后的帖子
-
嗯,好吧——当你引用时会发生什么?
-
好吧,在我疯狂的时刻,我肯定犯了一个错误或错字。引用日期不会影响查询:D(正如我一开始所想的那样)。
标签: php date doctrine-orm between query-builder