在我的rails 4应用程序中,一个客户机(客户机表)可以有许多项目(项目表).每个表中都有一个名为name
的列.我正在try 编写一个join
和select
,它使用项目作为基表,客户机作为查找表.client_id
是项目表中的foreign_key
:
我的问题如下:
Project.joins(:client).select('projects.id,projects.name,clients.name')
我得到以下回应:
Project Load (0.6ms) SELECT projects.id,projects.name,clients.name FROM "projects" INNER JOIN "clients" ON "clients"."id" = "projects"."client_id"
=> #<ActiveRecord::Relation [#<Project id: 1, name: "Fantastico Client">]>
如果我试着这样给它取个别名:
Project.joins(:client).select('projects.id,projects.name,clients.name as client_name')
Then 我得到以下回应:
Project Load (0.8ms) SELECT projects.id,projects.name,clients.name as client_name FROM "projects" INNER JOIN "clients" ON "clients"."id" = "projects"."client_id"
=> #<ActiveRecord::Relation [#<Project id: 1, name: "The Dream Project">]>
在这两种情况下,ActiveRecord都会释放其中一个名称,正如您从上面的响应中看到的那样.我应该如何编写这个查询?