【发布时间】:2012-05-22 14:40:50
【问题描述】:
我发现DoctrineExtensions 模块实现了一些有用的MySQL 功能。但我认为我的问题是普遍问题。如何将另一个 mysql 表达式作为参数传递给函数?
如果我有 2 列 updated_at 是 DATETIME 和 lifespan 这是 INT 并且我想查询实体的生命周期是否已过期,我可以这样做;
WHERE 0 > TIMESTAMPDIFF(SECONDS, NOW(), e.updated_at + INTERVAL e.lifespan SECOND)
在 QueryBuilder 中是这样的。
$qb->andWhere('0 > TIMESTAMPDIFF(SECONDS, CURRENT_TIMESTAMP(), e.updated_at + INTERVAL e.lifespan SECOND)');
但是解析器不喜欢+ INTERVAL e.lifespan SECOND,因为它需要右括号而不是加号。
【问题讨论】:
标签: php mysql doctrine-orm dql query-builder