Ruby on rails rails在includes表上选择属性

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

我需要使用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 < 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)")