symfony2: jak używać group_concat w QueryBuilder

Mam obiekt zagnieżdżony (używając drzewa Gedmo) o nazwie „Lokalizacja”. Entity „Appartment” ma id_lokacji i to, co muszę zrobić, aby odwzorować wartość skalarną o nazwie np. „Ścieżka”, aby zapytać, która zwraca wszystkie mieszkania.

W Doctrine1 miałem ten kod:

/**
* Add "path" to each element
* 
* @param Doctrine_Query $query
* @param string $separator
*/
protected function addScalar_path(Doctrine_Query $query, $separator=", ")
{
    $subquery = "k99.root_id=o.root_id AND k99.lft<=o.lft AND k99.rgt>=o.rgt AND k99.level<=o.level" ;

    $query->addSelect("(SELECT GROUP_CONCAT(k99.name ORDER BY k99.level SEPARATOR '$separator') FROM Location k99 WHERE $subquery) AS path") ;
}

Uwaga: alias „o” jest używany do podstawowego zapytania. Ten kod pozwoli mi korzystać

{foreach .... as $appartment}
   {$appartment->path}
...

Które by drukowały:

Australia, Victoria, Melbourne, ...other children...

Jak zrobić to samo w D2? A jak nawet włączyć rozszerzenia doktryn do mojego projektu symfony2?

questionAnswers(4)

yourAnswerToTheQuestion