2012-01-18 9 views
1

にはActiveRecordによって返され、適切な結果を与えるが、の複数の列は、私は、MySQLのCLIで実行するこのクエリを持ってrails3

クエリレールによって実行されなかったときにされていません。私が使用

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>] 

Iも

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

と試みたが、依然として同じ結果を与える、唯一T1に関する属性を返します。そのコマンドを実行する最良の方法を見つけるのを手伝ってください。

おかげで、PR

答えて

1

.includesの使用は私のために、この問題を解決しました。

関連する問題