如何在Moodle中获取每个类别和子类别的用户
P粉818306280
P粉818306280 2024-02-26 13:07:04
0
1
366

我想获取每个类别的用户。我使用的是moodle 3.8版本。有什么方法可以按类别获取用户。

P粉818306280
P粉818306280

全部回复(1)
P粉567281015

如果您正在寻找 Moodle 函数来执行此操作,那么您可以调用:

$cat = core_course_category::get($categoryid);
$courseids = $cat->get_courses(['recursive', 'idonly']);
$userids = [];
foreach ($courseids as $courseid) {
    $context = context_course::instance($courseid);
    $courseusers = get_enrolled_users($context, '', 0, 'u.id');
    $userids = array_merge($userids, array_keys($courseusers));
}

然而,这是非常低效的 - 你最好编写一个自定义 SQL 查询,根据课程 ID 列表,它将生成所有这些课程的注册用户列表(看看代码内部) get_enrolled_users() 来了解如何构建这样的 SQL 查询)。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!