我正在使用关联将多个模型连接在一起并在单个查询中选择它们,但是当其中两个模型共享一个列名时,仅使用 select 语句中的第二个模型。有没有办法使用完全限定的名称,即以表名为前缀,以便属性哈希可以包含两个列值?
例子:
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"]]...