symfony2: Verwendung von group_concat in QueryBuilder

Ich habe eine verschachtelte (mit Gedmo Tree) Entität namens "Location". Entität "Appartment" hat location_id und was ich tun muss, um skalare Werte abzubilden, die zB "path" genannt werden, um abzufragen, dass alle Appartments zurückgegeben werden.

In Doctrine1 hatte ich diesen Code:

/**
* 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") ;
}

Hinweis: Der Alias ​​"o" wird für die primäre Abfrage verwendet. Dieser Code würde mir erlauben, zu verwenden

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

Welches würde drucken:

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

Wie mache ich dasselbe in D2? Und wie kann ich überhaupt Doktrinenerweiterungen in mein symfony2-Projekt aufnehmen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage