Este post mostrar os comandos SQL para consultar data que o aluno iniciou e terminou o curso.
Para cada comando SQL, é necessário passar parâmetro id do curso e id do usuário.
Há vários critérios. Elencamos aqui alguns critérios. No processo de desenvolvimento use, o critério que melhor lhe atende.
Data de início do curso
Vamos aqui considerar três critérios para extração da data em que o aluno iniciou o curso.
Critério I- Data do primeiro acesso no curso
SELECT MIN(timecreated) AS timestart FROM mdl_logstore_standard_log WHERE courseid=? AND userid=?
Critério II- Data de início da inscrição no curso
SELECT MAX(ue.timestart) AS timestart FROM mdl_user_enrolments ue INNER JOIN mdl_enrol e ON ue.enrolid=e.id WHERE e.courseid=? AND e.status=0 AND ue.status=0 AND ue.userid=?
Critério III- Data de cadastro do usuário no Moodle
SELECT timecreated AS timestart FROM mdl_user WHERE id=?
Passe id do usuário em id=?
Data de conclusão do curso
Vamos aqui também considerar três critérios para extração da data em que o aluno finalizou o curso.
Critério I- Data de conclusão do curso
SELECT timecompleted FROM mdl_course_completions WHERE timecompleted > 0 AND course=? AND userid=?
Essa data vai existir se houver configuração de rastreamento de conclusão do curso no Moodle.
Critério II- Data de lançamento da nota final no curso
SELECT g.timecreated,g.timemodified FROM mdl_grade_items i INNER JOIN mdl_grade_grades g ON i.id=g.itemid WHERE i.itemtype = 'course' AND i.courseid=? AND g.userid=?
Critério III- Data do último acesso no curso
SELECT MAX(timecreated) AS timeend FROM mdl_logstore_standard_log WHERE courseid=? AND userid=?