ホームページ  >  に質問  >  本文

Moodle で各カテゴリおよびサブカテゴリのユーザーを取得する方法

各カテゴリのユーザーを取得したいと考えています。私はmoodleバージョン3.8を使用しています。カテゴリ別にユーザーを取得する方法はありますか。

P粉818306280P粉818306280210日前312

全員に返信(1)返信します

  • P粉567281015

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

    これを行うための Moodle 関数を探している場合は、次のように呼び出すことができます:

    $cat = core_course_category::get($categoryid);
    $courseids = $cat->get_courses(['recursive', 'idonly']);
    $userids = [];
    foreach ($courseids として $courseid) {
        $context = context_course::instance($courseid);
        $courseusers = get_enrolled_users($context, '', 0, 'u.id');
        $userids = array_merge($userids, array_keys($courseusers));
    }

    ただし、これは非常に非効率です。コース ID のリストに基づいて、これらすべてのコースの登録ユーザーのリストを生成するカスタム SQL クエリを作成したほうがよいでしょう (コード内を見てください)。 ) SQL クエリなどの構築方法を確認します)。

    返事
    0
  • キャンセル返事