Несколько столбцов из таблиц соединения не возвращаются activerecord в rails3 - PullRequest
1 голос
/ 18 января 2012

У меня есть этот запрос, который при запуске в mysql cli дает правильный результат, но не при выполнении rails

Запрос:

SELECT t1.id, t1.event_id, t2.content, t2.created_at, t3.title FROM t1 
INNER JOIN t2 ON t2.id = t1.event_id 
INNER JOIN t3 ON t3.id = t2.id 
WHERE (t1.id in (SELECT id FROM t4 WHERE attr = 20)) 
ORDER BY t1.created_at DESC 
LIMIT 15

Я использовал

t1.find_by_sql "<above_sql_query>"

но он возвращает только те столбцы, которые относятся к t1.Результатом является массив:

[#<t1 id: 3, event_id: 3>] 

Я также пытался с

t1.find(:all, :select => "<select attributes as above>", :joins => "as above", :conditions => "as above", :limit => 15, :order => "t1.created_at DESC")

, но все равно дает тот же результат, только возвращает атрибуты, относящиеся к t1.Пожалуйста, помогите мне найти лучший способ выполнить эту команду.

Спасибо, pR

1 Ответ

1 голос
/ 18 января 2012

Использование .includes решило эту проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...