Подражание ARel включает в себя find_by_sql

У меня есть довольно сложный sql-запрос , который мне нравится конечно, я не могу этого добиться с помощью ARel (Rails 3.0.10)

Посмотрите ссылку, но в ней есть несколько объединений и предложение where exists , и я уверен, что оно слишком сложное для ARel.

Однако моя проблема в том, что до того, как этот запрос был таким сложным,с ARel я мог использовать includes , чтобы добавить другие модели, которые мне нужны, чтобы избежать проблем n + 1. Теперь, когда я использую find_by_sql, включает, что не работает. Я все еще хочу иметь возможность получать эти записи и прикреплять их к экземплярам моей модели, как включает , но я не совсем уверен, как этого добиться.

Может ли кто-нибудь указать мне на правильное направление?

Я еще не пробовал объединить их в один запрос. Я просто не уверен, как они будут сопоставлены с объектами (т.е. если ActiveRecord правильно сопоставит их с надлежащим классом)

Я знаю, что при использовании включает ActiveRecord фактически выполняет второй запрос, тогда каким-то образом прикрепляет эти строки к соответствующим экземплярам из исходного запроса. Может кто-нибудь проинструктировать меня, как я могу это сделать? Или мне нужно присоединиться к тому же запросу?

11
задан brad 19 August 2011 в 18:46
поделиться