2013-12-12 22 views
6

私は現在、このサービスのコンストラクタにリポジトリ固有のQueryBuilderで設定されたクラス変数を使用してQueryBuilderを使用してデータベースに問い合わせるSF2のサービスに取り組んでいます。 これは、これを使用してQueryBuilderをできるだけ多くのコードとクリーンな感覚で使用したいと考えていることを意味します。Symfony2 Doctrine Querybuilderすべてを選択

この定義済みのQuerybuilderを使用してクエリを作成するのではなく、EntityManagerでクエリを作成しないようにします。

私は次のように/仕事を見て何かを探しています

$query = $this->fooRepository->createQueryBuilder('f')->select('*'); 
return $query->getResult(Query::HYDRATE_ARRAY); 

上記のでしょう(それが働いていた場合)

..私の知る限りでは、データベース内のすべてのfooを返します

あなたが考える場合、私は愚かなことだし、事前に定義されたQueryBuildersに関して異なる何かをするか、単に使用する必要があります。それは単純に良い練習やimpossiではないので

createQuery() 

方法を私を教えてくれることを躊躇しないでください。

ありがとうございます!

答えて

7

試してみてください。

$qb = $this->fooRepository->createQueryBuilder('foo'); 
return $qb->getQuery()->getResult(Query::HYDRATE_ARRAY); 

(*)選択の必要はありません。 where節が追加されていないので、すべてのfoo項目が選択されます。

+0

ありがとうございます! – ZvL

+0

複数の結合を含む問合せと、それらの結合表のすべての列も必要です。それに対する解決策はありますか? –

+0

試してみてください。あなたは驚くかもしれません。 – Cerad

関連する問題