Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Obtener en el Twig el campo "nombre" de la tabla "país" y de la tabla "provincia"

10 de junio de 2015

Tengo un problema al momento que relaciono las dos tablas resulta que las dos contienen el campo "nombre" y en la sentencia DQL a lo que llamo los campos nombre cada uno tiene su alias, lo tengo así:

(TABLA PAIS CON CAMPOS IDPAIS,NOMBRE, ABREVIATURA)
(TABLA PROVINCIA CON CAMPOS IDPROVINCIA,IDPAIS,NOMBRE,ABREVIATURA)
$em = $this->getDoctrine()->getManager();
$query =$em->createQuery('
    SELECT p.nombre as nombrePais, pr.nombre as nombreProvincia
       FROM nombreBundle:Provincia pr
       JOIN nombreBundle:Pais p WITH p.id = pr.id
');
$datos = $query->getResult();
 
return $this->render('subpescaBundle:Test:index.html.twig', compact('datos'));

Así que no deberia existir problema, pero cuando lo llamo en el Twig uso el for así:

<ul>
{% for dato in datos %}
    <li>{{dato.nombre}} {{dato.nombre}} </li>
{% endfor %}
</ul>

Pero me coge el nombre del país en ambos casos, y si cambio el orden en la sentencia DQL me sale el nombre de la provincia, pero nunca me sale el nombre del país con el nombre de provincia.

Gracias de antemano.


Respuestas

#1

Con la sentencia DQL que nos muestras, debería ser posible utilizar el siguiente código Twig:

<ul>
{% for dato in datos %}
    <li>{{ dato.nombrePais }} {{ dato.nombreProvincia }}</li>
{% endfor %}
</ul>

@javiereguiluz

10 junio 2015, 8:46
#2

@javiereguiluz Gracias por la aportación, si se me solucionó el problema.

@piocarluis

10 junio 2015, 15:10