當使用activerecord從數據庫中獲取內容時,我想要在兩個表中獲取具有指定列的自定義結果集。Rails 2:連接和:包含結果集
SELECT users.name, users.username, users.age, users.city_id, cities.name as city_name FROM users INNER JOIN cities ON users.city_id = cities.id
這將是AR作爲
Users.find(:all,
:joins => :cities,
:select => "users.name, users.username, users.age, users.city_id,
cities.name as city_name")
但這僅返回用戶表的結果,而不是城市的結果。我100%確定內部聯接語句正在經歷(兩個表都正在聯接)。
看起來好像返回對象只有與模型相關的列。因此,UserModel只有users表具有的列,即使它們在select中指定,也不允許獲取城市表的列。
我應該使用:joins還是:include?任何想法發生了什麼?