2016-09-14 122 views
4

是否可以比较查询api中的两个数据库字段?例如,我想比较字段tstamp和crdate,如:Extbase查询来比较同一个表中的两个字段

SELECT * FROM tt_content WHERE tstamp > crdate; 

在查询api中我找不到解决方案。要获取所有记录并比较循环中的字段不是一种执行方式,因为这可能超过200万条记录(在我的实际情况中)。

感谢您的帮助。

回答

2

我能想到的唯一方法(以及查询构建器支持的)是直接提供语句。它看起来像这样:

$query = $contentElementRepository->createQuery(); 
$query->statement('SELECT * FROM tt_content WHERE tstamp > crdate'); 
$matchingContentElements = $query->execute(); 

这可能会打破数据库抽象层,因此请谨慎使用它。 statement()有第二个参数,您可以放置​​参数,以防您在查询中需要一些用户输入。

也许还有另一种方法可以做到这一点,我不知道,我自己真的很感兴趣。

相关问题