Ayuda por favor como hacer una consulta dql utilizando la clausula distinct

30 views
Skip to first unread message

JHONATHAN MEJIA

unread,
May 28, 2015, 8:24:54 PM5/28/15
to symfo...@googlegroups.com
tengo una clase o entidad hija y quiero hacer una consulta de todos los docentes de un determinado periodo sin docentes duplicados

 public function getdocentesxcurso($pid) {
        
        $em = $this->getEntityManager();
        
        $dql = 'select d,dm.docente.id, p
                FROM JHONATHANSicondcBundle:Dictadomateria dm
                Join dm.docente d
                Join dm.periodo p
                WHERE p.id = :pid
                Order by d.nombre
                ';
        $consulta = $em->createQuery($dql);                
        $consulta->setParameter('pid', $pid);                        
        return $consulta->getResult();
    }

no se donde va laclausula-....

Roberto Moreno P.

unread,
May 28, 2015, 8:38:07 PM5/28/15
to symfo...@googlegroups.com
Estimado

1) Falta datos para apoyarlo
2) Creo con la poca información disponible que tu tabla pivote debe ser docente en este caso.

Saludos

--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Roberto Andrés Moreno Pérez

JHONATHAN MEJIA

unread,
May 28, 2015, 8:41:50 PM5/28/15
to symfo...@googlegroups.com
estas es mi base de datos.

de la tabla dictado materia quiero estan los docentes con sus respectivas asignaturas etc..
quiero solo sacar a los docentes sin duplicados utilizando el distinct y oviamente enviando el periodo actual
db.png

Roberto Moreno P.

unread,
May 28, 2015, 8:53:12 PM5/28/15
to symfo...@googlegroups.com
te respondo en pseudocodigo

<sql>
select * from docente d
join dictadomateria dm on d.i = dm.docente_id
join periodo p on p.id = dm.periodo_id and ( p.fecha_inicio between $start_date and now() ) 
join materia m on m.id = dm.materia_id
</sql>

El resto puedes encontrarlo en la documentación de doctrine, ya que tu problema principal es la mala eleccion del pivote

Saludos

--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Daniel Morfa Vega

unread,
May 29, 2015, 8:08:19 AM5/29/15
to symfo...@googlegroups.com
$idOrigen = 1;
        $idVehiculo = 2;

        $em = $this->getDoctrine()->getManager();
        $query = $em->createQuery("
            SELECT DISTINCT o, d FROM webmodelBundle:TePrecio o JOIN o.destino d WHERE o.vehiculo = :vehiculo AND o.origen = :origen")
            ->setParameter('origen', $idOrigen)
            ->setParameter('vehiculo', $idVehiculo);

        $resultado = $query->getArrayResult();
Reply all
Reply to author
Forward
0 new messages