2017-01-30 9 views
0

クエリで結合条件を取得するために別のリポジトリにレポジトリを挿入する必要がある場合は、extbaseに関する質問があります。例えばextbase query builder別のリポジトリに1つのリポジトリを挿入する

このクエリ

 $query = $this->createQuery() 
     ->statement(' 
      SELECT tx_casmarketing_domain_model_category.uid, tx_casmarketing_domain_model_category.name 
      FROM tx_casmarketing_domain_model_category, tx_casmarketing_domain_model_ad 
      WHERE tx_casmarketing_domain_model_ad.ad_cat = tx_casmarketing_domain_model_category.uid ') 

このクエリ私はモデルで定義された関係がないので、基本的に私は、カテゴリリポジトリへの広告リポジトリを注入しようとしています

$query = $this->createQuery(); 
     $query->matching(
       ); 

を介してアクセスしようとしていますそれのために。

私のモデルにはカテゴリと広告の関係が含まれていますので、私はadRepositoryを通して広告にアクセスします。私はadCategoryリポジトリと一緒にcateogrysに自動的にアクセスします。しかし、vise-virsaでは広告のために選択されたカテゴリが必要です。私のモデルではその関係はありません。私はどのカテゴリーの広告がどれくらいのカテゴリーの広告に含まれているのかを、広告内の私のdoropdownリストに必要としています...

this-> adrepository-> findAll()この関係は、 $ this-> categoryRepository($ this-> adrepository-> finAll())

ドロップダウンリストには、現在アクティブなカテゴリのみが必要です。私は上記の言及のように、私は単純なクエリを介してこれにアクセスすることができますが、私は私が

->statement(' 
     SELECT tx_casmarketing_domain_model_category.uid,  tx_casmarketing_domain_model_category.name 
      FROM tx_casmarketing_domain_model_category, tx_casmarketing_domain_model_ad 
      WHERE tx_casmarketing_domain_model_ad.ad_cat = tx_casmarketing_domain_model_category.uid ') this is working but i want to conver it thourgh extbase query 

答えて

0
をしたい、開始と終了のタイムスタンプのようなTYPO3のfunctionalyと隠された組み込み機能buitin使用することができますextbaseクエリ方法とbecuse extbaseクエリのものを通してそれを必要とします

一般的なリポジトリメソッドで動作させるには、TCAのオブジェクトリレーションを定義する必要があります(モデルであればわかりません)。 $ query-> equals( 'category'、$ category)や$ query-> contains( 'category'、$ category)のような関数を使うことができます。

クエリの目的は何ですか?あなたは "広告"によって割り当てられているすべてのカテゴリを見つけることを試みていますか?

+0

ご回答いただきありがとうございます。私は上記の説明でさらに私の質問を説明します。あなたが私の問題をより良く理解するのに役立つかもしれないことを確認できますか? – zahid

関連する問題