#moodle
#moodle
Вопрос:
Я хочу перечислить все действия и ресурсы в курсе Moodle.. В нем должны быть сведения об идентификаторе, типе, названии и идентификаторе курса с именем… Кто-то мог бы создать запрос adhoc.. Не могли бы вы, кто-нибудь, помочь здесь, пожалуйста. Спасибо
Ответ №1:
Это даст вам действия для каждого курса, но не название действия
SELECT c.id AS courseid, c.fullname AS coursename,
cm.instance AS activityid, m.name AS activitytype
FROM mdl_course_modules cm
JOIN mdl_course c ON c.id = cm.course
JOIN mdl_modules m ON m.id = cm.module
ORDER BY c.fullname, m.name
Для названия действия вам нужно будет добавить таблицу для каждого действия на вашем сайте. Поэтому вам нужно будет добавить в этот список, если вы добавите новые действия.
SELECT c.id AS courseid, c.fullname AS coursename,
cm.instance AS activityid, m.name AS activitytype,
activity.activityname
FROM mdl_course_modules cm
JOIN mdl_course c ON c.id = cm.course
JOIN mdl_modules m ON m.id = cm.module
LEFT JOIN (
SELECT a.id, a.name AS activityname, 'scorm' AS activitytype
FROM mdl_scorm a
UNION
SELECT a.id, a.name AS activityname, 'forum' AS activitytype
FROM mdl_forum a
UNION
SELECT a.id, a.name AS activityname, 'label' AS activitytype
FROM mdl_label a
UNION
SELECT a.id, a.name AS activityname, 'url' AS activitytype
FROM mdl_url a
....
) activity ON activity.id = cm.instance AND activity.activitytype = m.name
ORDER BY c.fullname, m.name