Я хочу сделать конкретный запрос к базе данных Oracle. Я использую CodeIgniter с драйвером oci db. Мой запрос выглядит примерно так:
SELECT * FROM (select inner_query.*, rownum rnum FROM (SELECT tutor_profiles.id AS "tutor_id", tutor_profiles.full_name AS "full_name", files.file_uri as "file_uri", files.id, count(distinct courses.id) AS "course_count"
FROM tutor_profiles
LEFT JOIN files ON files.id = tutor_profiles.avatar_id
LEFT JOIN courses ON tutor_profiles.id = courses.tutor_id
GROUP BY tutor_profiles.id, tutor_profiles.full_name, files.file_uri, files.id
ORDER BY dbms_random.VALUE) inner_query WHERE rownum <= 4)
Я выбираю случайных репетиторов из базы данных и присоединяю к результату другие таблицы. Проблема в том, что я не могу сгенерировать этот запрос с помощью Active Record. Я получаю ошибку dbms_random.Value, но когда я запускаю ее в редакторе oracle sql, все работает нормально. Кто-нибудь знает, как сгенерировать этот запрос с помощью AR?
Note: random ordering is not currently supported in Oracle or MSSQL drivers.
: codeigniter.com/user_guide/database/active_record.html Active Record CI не решение всех вещей, хотя я хотел бы, чтобы это было, конечно. - person Wesley Murch   schedule 07.03.2012