我有實體店,所有者和鎮,我想統計所有門店,一個所有者,由他們鎮分類。如何使用Doctrine QueryBuilder選擇所有列?
我有這個疑問在我的控制器
$query = $this->getDoctrine()->getRepository('WebBundle:Store')
->createQueryBuilder('s')
->select('t.name, COUNT(s) as counter')
->groupBy('s.town')
->leftJoin('s.owner','o')
->leftJoin('s.town','t')
->where('s.owner = :id')
->orderBy('t.name','ASC')
->setParameter('id', $id)
->getQuery();
$list = $query->getResult();
有什麼辦法來從鎮,而不是宣佈每列中選擇所有列?類似於->select('t.*, COUNT(s) as counter')
。我可以選擇我現在需要的,但對於更大的表格,我需要其他方法。
我試過->select('t, COUNT(s) as counter')
但我得到一個異常錯誤。
欲瞭解更多信息,請在我的樹枝模板我想將此:
{% for town in list %}
<span>{{ town.name }}</b> [{{ town.counter }}]</span>
{% endfor %}
感謝所有的建議!
Excelent!這有助於很多..感謝您的回答! –
好,不客氣! – ceadreak
糟糕的建議...永遠不要忘記數據庫。你可以在數據庫中以更好的查詢來做更快的事情,而不是10級封裝。而你的過濾器需要數據庫來獲取所有商店,以比較它們的城鎮名稱。我想你從來沒有看到過什麼樣的查詢原則。 –