扫码关注官方订阅号
我想获取每个类别的用户。我使用的是moodle 3.8版本。有什么方法可以按类别获取用户。
如果您正在寻找 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 查询)。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果您正在寻找 Moodle 函数来执行此操作,那么您可以调用:
然而,这是非常低效的 - 你最好编写一个自定义 SQL 查询,根据课程 ID 列表,它将生成所有这些课程的注册用户列表(看看代码内部) get_enrolled_users() 来了解如何构建这样的 SQL 查询)。