【问题标题】:moodle : How is parent/child mentor/mentee role relationship stored?moodle : 父母/孩子导师/学员角色关系是如何存储的?
【发布时间】:2016-09-15 11:16:59
【问题描述】:

moodle 如何或在哪里存储家长/导师与学生的关系。我看不到系统如何绑定用户和角色分配以及它正在使用的任何其他内容(上下文等)。 我只是希望能够查询具有主管/家长角色的用户列表并获得相应的学生。

谢谢

【问题讨论】:

    标签: moodle


    【解决方案1】:

    我假设您已经按照此处定义的方式配置了父角色:https://docs.moodle.org/en/Parent_role

    如果是,则连接如下:

    每个用户都有一个与其用户 ID 相关的“上下文”记录。这可以通过 context_user::instance($userid) 或从数据库中检索到

    SELECT * 
    FROM mdl_context
    WHERE instanceid = [userid] AND contextlevel = 30
    

    (其中 30 是 CONTEXT_USER 并假设您的数据库前缀是默认的 'mdl_')

    家长/导师在该用户的上下文中分配了适当的角色。

    您可以通过以下查询在数据库中找到它:

    SELECT userid
    FROM mdl_role_assignments
    WHERE contextid = [usercontextid]
    

    或者,这可以限制为仅检索特定的角色标识(使用“AND roleid = [parentroleid]”)。但是,大多数网站只会在用户上下文中分配父/导师角色,因此您可能无需检查角色 ID 就可以逃脱。

    【讨论】:

    • 谢谢达沃史密斯。是的,您是对的,我已经配置了此处定义的角色docs.moodle.org/en/Parent_role 实际上我已经将 Moodle 与 Wordpress 集成,并且在我的门户网站学生/家长中,他们在 wordpress 中注册,学生也可以输入他的详细信息和他的家长详细信息。帐户都是在 wordpress 和 moodle 中生成的。所以我们想在注册成功的时候在Moodle中配置parent_id和student,而不是手动配置。我们希望在 Moodle 中动态配置。你的建议会帮助我们....!!!谢谢
    • 这帮助我找到了我正在寻找的东西,这实际上是我在 Moodle 论坛上找到的:moodle.org/mod/forum/discuss.php?d=199269#p880308
    【解决方案2】:

    下面的查询将完美回答你的父子关系。

    当您在查询中传递子 id 时,此查询将返回父 id

    SELECT userid as parent FROM mdl_role_assignments
    join mdl_context on mdl_context.id = mdl_role_assignments.contextid 
    where mdl_context.contextlevel = 30 and mdl_context.instanceid = 162
    

    这里 162 是孩子的 id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多