Hola.
Tengo una duda en una consulta con JOINS, debería devolver 2 resultados y sin embargo devuelve 4...
No lo entiendo, si la pruebo en MySQL funciona bien, pero en Symfony no:
Código:
SELECT v.id, v.matricula, vt.descripcion_vehiculo, vt.id
FROM vehiculos AS v
JOIN vehiculos_tipos AS vt ON v.id = vt.id
WHERE v.id_usuario = 70845
Devuelve
1 4467CGH Furgoneta 1
2 4468CGI Motocicleta 2
Pero En Symfony:
Código PHP:
$query = $em->createQuery(
'SELECT partial vt.{id,descripcionVehiculo},
partial v.{id,matricula}
FROM IPRestBundle:Vehiculos v
JOIN IPRestBundle:VehiculosTipos vt
WITH v.idVehiculosTipo = vt.id
WHERE v.idUsuario = :idUsuario')
->setParameter('idUsuario', $idUsuario);
$datosVehiculosMensajero = $query->getResult();
Devuelve:
Código:
Array
(
[0] => IP\RestBundle\Entity\Vehiculos Object
(
[id:IP\RestBundle\Entity\Vehiculos:private] => 1
[idUsuario:IP\RestBundle\Entity\Vehiculos:private] =>
[idVehiculosTipo:IP\RestBundle\Entity\Vehiculos:private] =>
[matricula:IP\RestBundle\Entity\Vehiculos:private] => 4467CGH
[seguro:IP\RestBundle\Entity\Vehiculos:private] =>
[fechaProximaItv:IP\RestBundle\Entity\Vehiculos:private] =>
[vehiculoPrincipal:IP\RestBundle\Entity\Vehiculos:private] =>
)
[1] => IP\RestBundle\Entity\VehiculosTipos Object
(
[id:IP\RestBundle\Entity\VehiculosTipos:private] => 1
[descripcionVehiculo:IP\RestBundle\Entity\VehiculosTipos:private] => Furgoneta
)
[2] => IP\RestBundle\Entity\Vehiculos Object
(
[id:IP\RestBundle\Entity\Vehiculos:private] => 2
[idUsuario:IP\RestBundle\Entity\Vehiculos:private] =>
[idVehiculosTipo:IP\RestBundle\Entity\Vehiculos:private] =>
[matricula:IP\RestBundle\Entity\Vehiculos:private] => 4468CGI
[seguro:IP\RestBundle\Entity\Vehiculos:private] =>
[fechaProximaItv:IP\RestBundle\Entity\Vehiculos:private] =>
[vehiculoPrincipal:IP\RestBundle\Entity\Vehiculos:private] =>
)
[3] => IP\RestBundle\Entity\VehiculosTipos Object
(
[id:IP\RestBundle\Entity\VehiculosTipos:private] => 3
[descripcionVehiculo:IP\RestBundle\Entity\VehiculosTipos:private] => Coche
)
)
No lo entiendo
¿Por qué?
Muchas gracias