Rumah > Soal Jawab > teks badan
Saya ingin mendapatkan pengguna setiap kategori. Saya menggunakan moodle versi 3.8. Adakah terdapat sebarang cara untuk mendapatkan pengguna mengikut kategori.
P粉5672810152024-02-27 09:21:08
Jika anda sedang mencari fungsi Moodle untuk melakukan ini, anda boleh menghubungi:
$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)); }
Walau bagaimanapun, ini sangat tidak cekap - anda lebih baik menulis pertanyaan SQL tersuai yang, berdasarkan senarai ID kursus, akan menjana senarai pengguna berdaftar untuk semua kursus tersebut (lihat di dalam kod) get_enrolled_users() ke lihat cara membina sesuatu seperti pertanyaan SQL ini).