首页 > 解决方案 > MOODLE3.5 课程的资源模块

问题描述

从课程中跟踪资源模块的最佳方法是什么。

这是我的尝试,但对指定资源 ID 不满意。

SELECT cmc.coursemoduleid
FROM mdl_course_modules_completion cmc 
JOIN mdl_course_modules cm ON cm.id = cmc.coursemoduleid
JOIN mdl_modules m ON m.id= cm.module
WHERE cm.deletioninprogress=0 
AND m.id IN (1,3,8,11,12,15,17,20) 

标签: moodle

解决方案


由于您使用的是 (INNER) JOIN,因此您可能会按课程 ID 严格结果,如下所示:

    选择 cmc.coursemoduleid
    FROM mdl_course_modules_completion cmc
    在 cm.id = cmc.coursemoduleid 和 cm.course = YOURCOURSEID 上加入 mdl_course_modules cm
    加入 mdl_modules m ON m.id= cm.module
    WHERE cm.deletioninprogress=0 AND m.name IN ('resource', 'page', 'url')

更新

关于模块是资源的信息不存储在数据库中。但是你可以明确指出你感兴趣的所有模块名称。唯一的缺点是,如果你决定安装新的资源第三方模块,你将不得不更新你的 SQL


推荐阅读