0
我正在使用關聯將多個模型連接在一起並在單個查詢中選擇它們,但是當兩個模型共享列名稱時,只會使用select語句中的第二個。是否有任何方法使用完全限定的名稱,即以表名爲前綴,以便屬性哈希可以同時包含列值?具有表名稱的ActiveRecord屬性名稱
例子:
Class User < ActiveRecord::Base
belongs_to :role
end
#This query will only allow me to see the name of the role
User.joins(:role).select('users.name', 'role.name')
#Using the raw connection removes the table name from the resultset also
User.connection.select("users.name, roles.name FROM users JOIN roles ON users.role_id = roles.id")
=> #<ActiveRecord::Result:0x00000000000000 @columns=["name", "name"], @rows=[["some_user", "admin"]]...
HERP ..我怎麼沒想到呢?歡呼聲,將在3分鐘內接受 – Slicedpan