Rails 3 では、次の種類のコードを使用して MySQL データベースにクエリを実行しています。
MyData.joins('JOIN (SELECT id, name FROM sellers) AS Q
ON seller_id = Q.id').
select('*').
joins('JOIN (SELECT id, name FROM users) AS T
ON user_id = T.id').
select("*").each do |record|
#..........
次に、もう少し下で、次のコードを使用して「名前」にアクセスしようとします (売り手とユーザーの両方に名前の列があることに注意してください)。
str = record.name
この行は「販売者名」ではなく「ユーザー名」を表示していますが、何も表示されませんか? 名前列で複数のテーブルを結合したので、「列 '名前' はあいまいです」などのエラーが発生することはありませんか? なぜこれが起こらないのですか?
ちなみに、最初の "select('*')" 行を含めても含めなくても、コードは同じように動作します。
ありがとうございました。