2017-06-27 16 views
0

1:nリレーションを持っています。イベントには多くの日付が含まれます。今TYPO3 Extbase:1:Nリレーションをフィルタリングする

私はイベントのリポジトリを照会し、childrecords「日付」にフィルタを適用したいと思います:

「の日付を持っているすべてのイベントを取得date.start> X」

純粋なSQLクエリこのようなものが考えられます。

SELECT tx_event_domain_model_event.*,tx_event_domain_model_date.* 
FROM tx_event_domain_model_event, tx_event_domain_model_date 
WHERE tx_event_domain_model_date.event = tx_event_domain_model_event.uid 
AND tx_event_domain_model_date.start > 1497960246 

どのように私は、リポジトリ内extbaseクエリクラスでこのクエリを行うことができますか?

+0

は、スタックオーバーフローしてくださいようこそextbaseクエリオブジェクトにカスタムデータベースクエリの詳細を読むことができますあなたがこれまで行ってきたことを示して、コードと結果を加えてください。 [最小限で完全で検証可能なサンプルの作成方法](https://stackoverflow.com/help/mcve) – lordrhodos

+0

を参照してください。extbaseクエリのリファレンスは次のとおりです。http://lbrmedia.net/codebase/ Eintrag/extbase-query-methods / – ravisachaniya

答えて

3

特定の日付のイベントだけを取得するためにExtbase Query Objectを使用できます。

あなたのイベントモデルには、追加されたイベントを追跡するフィールド「日付」があるとします。

それはそれをテストしていませんが、あなたの関数は次のようになります。

// assuming your repository is "eventRepository" 
$startDate = 1497960246; 
$query = $this->eventRepository->createQuery(); 
$query->matching($query->greaterThan('date.start', $startDate)); 
$events = $query->execute(); 

あなたはhere in the typo3 docs

関連する問題