Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan pengguna untuk setiap kategori dan subkategori dalam Moodle

Saya ingin mendapatkan pengguna setiap kategori. Saya menggunakan moodle versi 3.8. Adakah terdapat sebarang cara untuk mendapatkan pengguna mengikut kategori.

P粉818306280P粉818306280259 hari yang lalu370

membalas semua(1)saya akan balas

  • P粉567281015

    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).

    balas
    0
  • Batalbalas