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

Consulta DQL con varias tablas relacionadas many-to-one

16 de junio de 2016

Como estan queridos colegas programadores, uso Symfony2, llevo mas de un mes tratando de mostrar unos datos que tengo en unas entidades relacionadas y ando verde. Tengo una entidad "empleados" donde están los datos de los trabajadores de la planta. Tengo una entidad llamada "adiestramiento" donde guardo los datos de cursos que se dictan a los empleados y tengo una tabla llamada "empleado_adiestramiento" donde guardo los id de los empleados, los id de los adiestramientos y la nota que saca cada trabajador en el examen del curso. Las entidades tienen relación ManyToOne.

Quiero saber cómo crear un DQL que me muestre en pantalla los datos del curso que se dictó y los datos de los trabajadores que lo recibieron. Espero me hayan entendido y me puedan ayudar. Saludos desde Venezuela Chao Chao.

/**
 * EmpleadoAdiestramiento
 *
 * @ORM\Table(name="empleado_adiestramiento")
 * @ORM\Entity
 */
class EmpleadoAdiestramiento
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;
 
    /**
     * @var integer
     *
     * @ORM\Column(name="nota", type="integer", nullable=true)
     */
    private $nota;
 
    /**
     * @var \Empleado
     *
     * @ORM\ManyToOne(targetEntity="Empleado")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="empleado_id", referencedColumnName="id")
     * })
     */
    private $empleado;
 
    /**
     * @var \Adiestramiento
     *
     * @ORM\ManyToOne(targetEntity="Adiestramiento")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="adiestramiento_id", referencedColumnName="id")
     * })
     */
    private $adiestramiento;

El inconveniente está en cuando quiero mostrar en un detalle los trabajadores que recibieron el curso con su respectiva nota.


Respuestas

#1

Si hay alguien que pueda dar una solucion se lo agradezco.

@adelaroche

20 junio 2016, 19:54
#2

Hola @adelaroche,

Tienes claro como puedes hacer esa consulta en SQL normal?

@miguelplazasr

24 junio 2016, 22:21
#3

Hola @miguelplazasr de hecho e probado con varias sentencias sql directamente en MySQL y funcionan, he usado múltiples consultas dql similares a las sql pero siento que me falta algo, por lo menos ahorita la consulta me funciona cuando es un solo id y me muestra el dato perfectamente, pero que pasa, que tengo la relación muchos a uno en la entidad y cuando son muchos trabajadores que reciben un curso me tira un error, si me das un correo te envió algunas cosas para que comprendas un poco mejor. Saludos desde Venezuela.

@adelaroche

25 junio 2016, 3:54