Maison > Questions et réponses > le corps du texte
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粉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).