Объединение таблиц Moodle без необработанного SQL-запроса

Я новичок в мире Moodle. Я хочу сделать внутреннее соединение двух или более таблиц с помощью PDO. Я проверил документацию, но не нашел ничего полезного. Может быть, мне не хватает какой-то части Moodle. Допустим, я хочу, чтобы все пользователи были зачислены на указанный курс. Есть ли способ сделать что-то похожее на это:

$users = get_records(['course', 'user'], 'course.id = user.course_id');

person Bahriddin Abdiev    schedule 17.08.2017    source источник


Ответы (1)


Я получил ответ с форума Moodle:

No.

API БД предназначен для упрощения многих распространенных ситуаций (например, получения одной или нескольких записей из одной таблицы), но если вам нужно собрать данные из более чем одной таблицы одновременно, вам нужно использовать $DB->get_records_sql() (или аналогичный).

Однако, если вам нужен список пользователей определенного курса, используйте функцию get_enrolled_users(), а не пытайтесь вручную написать для нее SQL-запрос.

person Bahriddin Abdiev    schedule 22.08.2017