Buenas,
Tenía esta consulta en una relación one-to-many:
$dql = "SELECT p,s,c,t FROM AppBundle:Product p JOIN p.productstock s JOIN p.colors c JOIN p.talles t";
Si hacía esto:
$query = $entityManager->createQuery($dql); $result = $query->getResult(); foreach ($result as $row) { echo $row->getColors()->getName(); }
Obtenía todos los nombres de los colores . Ahora cambié la relación a many-to-many y esto ya no funciona:
echo $row->getColors()->getName();
¿Tienen idea como obtener el nombre del color en many-to-many? ¿tendría que funcionar igual?
Respuestas
Necesitamos más código para poder ayudarte!
@cristian_angulo
31 octubre 2015, 4:04
Buenas, es cuestión de analizar un poco la situación:
Como la relación es Muchos a Muchos, ahora el producto no esta relacionado con un solo color $row->getColors()->getName()
. Sino que getColors()
ahora devuelve una colección de colores que deberás recorrer para poder mostrar cada color.
foreach($row->getColors() as $color){ echo $color->getName() . '<br>'; }
Espero te sirva, saludos!
@manuel_j555
31 octubre 2015, 13:18
Exacto se ve que ayer hacia mucho sueño juaa gracias
@xub
31 octubre 2015, 13:30