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
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
@javiereguiluz Gracias por la aportación, si se me solucionó el problema.
@piocarluis
10 junio 2015, 15:10