Buenos días.
Tengo una consulta SQL de selección que me devuelve varios registros de varias tablas de mi base de datos.
Funciona perfecto ejecutándola desde ‘phpMyAdmyn’.
La consulta es esta:
-- ¿Que horarios tienen asignados los alumnos?
SELECT
u.id AS IDusuario,
u.nombre AS NombreUsuario,
u.identificacion_cliente AS Empresa,
-- u.tipo_identificacion_id, -- 1=NIF, 2=CIF, 3=NIE, 4=OTRO.
u.identificacion_usuario,
-- u.tipo_usuario_id, -- 1=cliente, 2=operador, 3=alumno, 4=profesor. EN ESTE CASO SIEMPRE SERAN ALUMNOS.
h.id AS IDhorario,
c.nombre AS nombreCurso,
a.nombre AS nombreActividad,
ds.nombre AS diaSemana,
CONCAT (fh.hora_inicio,' - ',fh.hora_fin) AS FranjaHoraria,
au.nombre AS nombreAula
FROM
usuarios u
LEFT JOIN alumnos_horarios ah ON u.id = ah.usuarios_id -- este JOIN une la tabla 'u' (ON u.xxx=) con la tabla 'ah'(=ah.xxx)
LEFT JOIN horarios h ON ah.horarios_id = h.id -- este JOIN une la tabla 'ah'(ON ah.xxx=) con la tabla 'h'(=h.xxx)
LEFT JOIN dia_semana ds ON h.dia_semana_id = ds.dia_semana -- este JOIN une la tabla 'h'(ON h.xxx=) con la tabla 'ds'(=ds.xxx)
LEFT JOIN cursos c ON h.cursos_id = c.id -- este JOIN une la tabla 'h'(ON h.xxx=) con la tabla 'c'(=c.xxx)
LEFT JOIN actividades a ON h.actividades_id = a.id -- este JOIN une la tabla 'h'(ON h.xxx=) con la tabla 'c'(=c.xxx)
LEFT JOIN franjas_horarias fh ON h.franjas_horarias_id = fh.id -- este JOIN une la tabla 'h'(ON h.xxx=) con la tabla 'fh'(=fh.xxx)
LEFT JOIN aulas au ON h.aulas_id = au.id -- este JOIN une la tabla 'h'(ON h.xxx=) con la tabla 'au'(=fh.xxx)
-- Empleo 'LEFT JOIN' para que salgan incluso los alumnos que no tienen horario asignado.
-- Osea todos los registros de la tabla que este a la izquierda de LEFT JOIN xxx. En este caso tabla principal 'usuarios'.
WHERE
u.tipo_usuario_id=3 -- para que salgan sólo los alumnos.
ORDER BY
u.id ASC,
u.identificacion_cliente ASC -- Para que se ordenen por empresa
;
Pero no consigo traspasarla a Yii.
En mi proyecto tengo creados los modelos, vistas y controladores respectivos. Creados con gii de las tablas con sus relaciones bien hechas. Osea, los modelos tienen correctamente generadas sus ‘relations’.
Les agradecería me indiquen cómo hacer esta consulta en Yii.
Muchas gracias.
Si doy con la solución, lo publicaré aqui.
Gracias.