Maison  >  Questions et réponses  >  le corps du texte

Comment obtenir des utilisateurs pour chaque catégorie et sous-catégorie dans Moodle

Je souhaite obtenir les utilisateurs de chaque catégorie. J'utilise Moodle version 3.8. Existe-t-il un moyen d'obtenir des utilisateurs par catégories.

P粉818306280P粉818306280210 Il y a quelques jours311

répondre à tous(1)je répondrai

  • P粉567281015

    P粉5672810152024-02-27 09:21:08

    Si vous recherchez une fonction Moodle pour faire cela alors vous pouvez appeler :

    $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));
    }

    Cependant, c'est très inefficace - vous feriez mieux d'écrire une requête SQL personnalisée qui, basée sur une liste d'identifiants de cours, générera une liste d'utilisateurs enregistrés pour tous ces cours (regardez à l'intérieur du code) get_enrolled_users() pour voyez comment construire quelque chose comme cette requête SQL).

    répondre
    0
  • Annulerrépondre