我想对名为company_friend
的{{1}}关联进行分组和统计,此表格中有一个名为name
的列。
我使用Rails 5。
class Appointment
belongs_to :company_friendship, touch: true
has_one :company_friend, through: :company_friendship
end
class CompanyFriendship < ApplicationRecord
belongs_to :company, touch: true
belongs_to :company_friend, touch: true, class_name: "Company"
end
class Company < ApplicationRecord
has_many :company_friendships, autosave: true
has_many :company_friends, through: :company_friendships, autosave: true
end
我想使用company_fiend.name
列进行分组
预期输出应如下所示:
{"nestle" => 10, "cocacola" => 20, "los pollos hermanos" => 50}
我正在做:
Appointment.joins(:company_friend).group("company_friends.name").count
但我明白了:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "company_friends"
LINE 1: SELECT COUNT(*) AS count_all, company_friends.name AS compan...
答案 0 :(得分:2)
这就是我需要的:
Appointment.joins(:company_friend).group("companies.name").count
{"Barton Mines"=>772, ... }