2013-12-12 57 views
6

我目前正在使用SF2中的一個服務來查詢數據庫,該查詢使用在本服務的構造函數中使用特定於存儲庫的QueryBuilder設置的類變量。 這意味着我想盡可能多地使用這個QueryBuilder來創建更整潔的代碼和使用它的乾淨的感覺。Symfony2 Doctrine Querybuilder全部選中

我想避免在EntityManager上創建查詢,而是僅使用此預定義的Querybuilder查詢。

我在尋找的東西看起來/工作如下所示:

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

上面會(如果它的工作),據我所知返回數據庫中所有的富..

如果你認爲我是愚蠢的,應該做不同的事情在考慮到預定義QueryBuilders或只使用:

createQuery() 

方法,因爲它根本就不是好的做法或impossi不要猶豫,告訴我。

謝謝!

回答

7

嘗試:

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

無需對選擇(*)。所有foo項目將被選中,因爲沒有添加任何where子句。

+0

謝謝,它的工作原理! – ZvL

+0

對於包含多個連接的查詢以及來自這些連接表的所有列,還需要如何處理。任何解決方案? –

+0

試試吧。你可能會感到驚訝。 – Cerad