You need to enable JavaScript to run this app. 查询指定Moodle课程内指定用户角色ID的SQL需求
优惠活动
大模型
产品
解决方案
定价
更多

查询指定Moodle课程内指定用户角色ID的SQL需求

Moodle 获取指定用户指定课程的数值角色ID

表关联逻辑

Moodle的用户课程角色分配需要关联两张核心表:

  • mdl_context:课程级上下文的contextlevel固定为50,instanceid字段存储对应的课程ID
  • mdl_role_assignments:存储用户角色分配数据,roleid即所需的数值型角色标识,字段关联userid与上下文ID

直接可用的SQL(匹配User ID=2、Course ID=50的需求)

SELECT ra.roleid AS numeric_course_role_id
FROM mdl_role_assignments ra
INNER JOIN mdl_context ctx 
    ON ra.contextid = ctx.id
WHERE ctx.contextlevel = 50
  AND ctx.instanceid = 50
  AND ra.userid = 2;

注意事项

  • Moodle默认数据库表前缀为mdl_,若站点修改过前缀,请将语句中的前缀替换为实际值
  • 该语句仅查询用户在当前课程层级直接分配的角色,若角色由分类、全站等更高层级上下文继承而来,不会被命中
  • 若需要获取角色的文本名称,可额外关联mdl_role表的shortname/name字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 22:45:02