You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何扩展Moodle活动完成SQL报告以包含Scorm活动名称

解决方案:在SCORM用户完成报告中添加活动标题

在Moodle数据库结构里,你需要通过**中间表mdl_course_modules**建立mdl_course_modules_completion(即原代码中的cmc)与mdl_scorm的关联,具体逻辑如下:

  • cmc.coursemoduleid 关联 mdl_course_modules.id(对应课程内的某个模块记录)
  • mdl_course_modules.instance 关联 mdl_scorm.id(该模块对应的SCORM活动实例ID)
  • 额外通过mdl_modules过滤,确保只关联SCORM类型的模块,避免错误关联

基于原代码扩展后的完整SQL示例:

SELECT
    u.id AS user_id,
    u.username AS user_name,
    s.name AS scorm_activity_title, -- 新增SCORM活动标题字段
    cmc.completionstate,
    cmc.timemodified AS completion_time
FROM mdl_user u
JOIN mdl_course_modules_completion cmc 
    ON u.id = cmc.userid
-- 关联课程模块表,建立与SCORM的桥梁
JOIN mdl_course_modules cm 
    ON cmc.coursemoduleid = cm.id
-- 关联SCORM表获取活动标题
JOIN mdl_scorm s 
    ON cm.instance = s.id
-- 过滤仅SCORM类型的课程模块
JOIN mdl_modules m 
    ON cm.module = m.id 
    AND m.name = 'scorm'
-- 可根据需求添加课程过滤条件
WHERE cm.course = 123 -- 替换为你的课程ID
ORDER BY u.username, s.name;

说明:

  • 新增的s.name就是你需要的SCORM活动标题
  • 加入mdl_modules的关联是为了确保只处理SCORM模块,避免其他类型模块(如作业、测验)的干扰
  • 可根据原代码的需求,保留或调整原有字段、过滤条件及排序规则

内容的提问来源于stack exchange,提问作者Mhand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:32:12