2016-07-21 5 views
0

나는 두 개의 다른 장소에서 사용되는 방법으로 어색한 상황이 있으므로 두 개의 다른 queryBuilders이 필요합니다.두 쿼리 사이에서 선택

한 곳에서는이 방법을 사용해야합니다. queryBuilder;

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

그리고 어딘가에 내가 queryBuilder이 필요합니다.

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

어떻게하면 동일한 방법으로이 작업을 수행 할 수 있습니까? 나머지 두 가지 방법을 만들면 나머지는 완전히 똑같을 것이고, 그것은 불필요하다고 느낄 것입니다.

다음과 같이 시도해보고 작동하지 않는 경우 다른 하나를 시도해보십시오.

+0

이 메소드, 컨트롤러, 서비스는 어디에 있습니까 ... – Edu

+0

메서드에 QueryBuilder를 삽입하거나 메서드가있는 서비스/클래스에 삽입하는 것이 좋습니다. 스택의 어느 시점에서 어떤 QB 당신은 사용해야합니다. – Callistino

+0

하나는 Symfony의 컨트롤러에서 연장 된 컨트롤러이고 다른 하나는 Sonata의 관리자에서 확장 한 Admin의 configureListFields 안에 있습니다. –

답변

1

매개 변수를 통해 메서드에 올바른 querybuilder를 지정하기 만하면됩니다.
Querybuilder1을 원할 경우.

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

동일한 내용이 Querybuilder2 ofc에 해당됩니다.

관련 문제