Ruby on rails rails在includes表上选择属性
我需要使用rails活动记录编写以下查询:Ruby on rails rails在includes表上选择属性,ruby-on-rails,activerecord,ruby-on-rails-4,Ruby On Rails,Activerecord,Ruby On Rails 4,我需要使用rails活动记录编写以下查询: select c.name,p.name,SUM(e.hours) from Events e, Projects p, Unities u, Clients c where e.project_id = p.id AND p.unity_id = u.id AND u.client_id = c.id group by c.name, p.name, e.project_id 型号: class Event < Ac
select c.name,p.name,SUM(e.hours)
from Events e, Projects p, Unities u, Clients c
where e.project_id = p.id AND
p.unity_id = u.id AND
u.client_id = c.id
group by c.name, p.name, e.project_id
型号:
class Event < ActiveRecord::Base
belongs_to :project
class Project < ActiveRecord::Base
belongs_to :unity
has_many :events
end
class Unity < ActiveRecord::Base
belongs_to :client
has_many :projects
end
class Client < ActiveRecord::Base
has_one :unity
end
但我不知道如何指定属性的选择和按部分分组。请按以下方式编写查询:-
Event.joins(:project => {:unity => :client})
.group("projects.name, clients.name, events.project_id")
.select("projects.name, clients.name, SUM(events.hours)")
我对你的建议有以下几点意见:#。如何获取项目名称、客户名称和事件时间的值??谢谢
Event.joins(:project => {:unity => :client})
.group("projects.name, clients.name, events.project_id")
.select("projects.name, clients.name, SUM(events.hours)")