General developer forum

 
 
Picture of Miguel Rodríguez
Re: relacion alumno - curso en la base de datos
 

Mejor aun necesitaria realizar una consulta con username no con id puesto que estoy extrayendo el username de otros servidores moodle, y en cada uno de ellos el id de los usuarios cambia.

 

 
Average of ratings: -
Picture of Iñaki Arenaza
Re: relacion alumno - curso en la base de datos
Group DevelopersGroup Documentation writersGroup Particularly helpful Moodlers

select c.shortname from mdl_course c join mdl_context ctx on (ctx.instanceid = c.id and ctx.contextlevel=50) join mdl_role_assignments ra on (ra.contextid = ctx.id) join mdl_user u on (ra.userid = u.id) where u.username='YY' and u.mnethostid=XX;

donde YY es el username del usuario a consultar y XX es el valor de $CFG->mnet_localhost_id. La consulta te devuelte el nombre corto de los cursos en los que tiene algún rol asignado. Si necesitas que tenga un rol en concreto, deberás cruzar la tabla mdl_role_assignments con la tabla mdl_role usando la columna roleid de la primera con la columna id de la segunda, e indicando el nombre corto del rol como condición para la coumna shortname de la segunda tabla.

Saludos. Iñaki.

 
Average of ratings: -