У меня есть довольно сложный SQL-запрос , который я почти уверен, что не смогу выполнить с ARel (Rails 3.0.10)
Проверьте ссылку, но у нее есть несколько объединений и предложение where exists
, и я уверен, что это слишком сложно для ARel.
Однако моя проблема в том, что до того, как этот запрос был настолько сложным, с ARel я мог использовать includes
для добавления других моделей, которые мне нужны, чтобы избежать проблем n + 1. Теперь, когда я использую find_by_sql, includes
не работает. Я все еще хочу иметь возможность получать эти записи и прикреплять их к экземплярам моей модели, как это делает includes
, но я не совсем уверен, как этого добиться.
Может ли кто-нибудь указать мне правильное направление?
Я еще не пытался объединить их в одном запросе. Я просто не уверен, как они будут сопоставлены с объектами (т. Е. Если ActiveRecord правильно сопоставит их с соответствующим классом)
Я знаю, что при использовании includes
ActiveRecord фактически делает второй запрос, а затем каким-то образом прикрепляет эти строки к соответствующим экземплярам из исходного запроса. Может кто-нибудь наставить меня, как я могу это сделать? Или мне нужно присоединиться к одному и тому же запросу?