2016-09-14 178 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()有第二個參數,您可以放置​​參數,以防您在查詢中需要一些用戶輸入。

也許還有另一種方法可以做到這一點,我不知道,我自己真的很感興趣。

相關問題