2016-09-14 26 views
4

クエリAPI内の2つのデータベースフィールドを比較できますか?たとえば、フィールドtstampとcrdateを比較したいとします。同じテーブル内の2つのフィールドを比較する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()には、クエリーにユーザー入力が必要な場合に備えて、パラメーターを入れることができる2番目のパラメーターがあります。

多分私が知らないこれを行う別の方法があります、私は本当に自分自身にそれに興味があるでしょう。

関連する問題