symfony2: cómo usar group_concat en QueryBuilder
Tengo una entidad de conjunto anidado (usando el árbol Gedmo) llamada "Ubicación". La entidad "Appartment" tiene location_id y lo que necesito hacer para asignar un valor escalar llamado, por ejemplo, "path" a la consulta que devuelve todos los apartamentos.
En Doctrine1, tenía este código:
/**
* 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") ;
}
Nota: el alias "o" se utiliza para la consulta primaria. Este código me permitiría usar
{foreach .... as $appartment}
{$appartment->path}
...
Que se imprimiría:
Australia, Victoria, Melbourne, ...other children...
¿Cómo hacer lo mismo en D2? ¿Y cómo incluso incluir explicaciones de doctrina en mi proyecto symfony2?