84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我想取得每個類別的使用者。我使用的是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 查詢)。
如果您正在尋找 Moodle 函數來執行此操作,那麼您可以呼叫:
然而,這是非常低效的- 你最好編寫一個自定義SQL 查詢,根據課程ID 列表,它將生成所有這些課程的註冊用戶列表(看看代碼內部) get_enrolled_users() 來了解如何構建這樣的SQL 查詢)。