2016-07-21 10 views
0

私は2つの異なる場所で使用されるメソッドで扱いにくい状況があるため、2つの異なるqueryBuildersが必要です。メソッド内の2つのqueryBuilderの中から選択する

私はこの方法を使用する必要があります。queryBuilder;

$queryBuilder = $this->getConfigurationPool()->getContainer()->get('doctrine')->getManager('admin')->createQueryBuilder(); 

その他の場合は、queryBuilderが必要です。

$queryBuilder = $this->get('doctrine')->getManager('admin')->createQueryBuilder(); 

どうすれば同じ方法でこれを達成できますか?私は2つの異なる方法を作った場合、それの残りの部分はまったく同じであり、それは不要と感じます。

何かのように、この1つを試してみて、それ以外のものを試してみてください。

+0

このメソッド、コントローラ、サービスなどはどこにありますか? – Edu

+0

メソッドにQueryBuilderを挿入するか、またはメソッドが存在するサービス/クラスに挿入することをお勧めします。スタックのある時点で、QBあなたは使用する必要があります。 – Callistino

+0

Symfonyのコントローラから拡張されたコントローラに1つあり、もう1つはSonataの管理者から拡張されたAdminのconfigureListFieldsの中にあります –

答えて

1

パラメータを使用してメソッドに正しいquerybuilderを渡すだけです。
Querybuilder1が必要な場合。

$queryBuilder1 = .......; 
callOfFunction($queryBuilder1); 

同じことがQuerybuilder2 ofcです。

関連する問題