0
Je veux grouper et compter par mon association has_one
appelée company_friend
cette table a une colonne appelée name
.Le groupe de Rails compte les associations complexes
J'utilise 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
Je veux groupe en utilisant la colonne company_fiend.name
La sortie attendue devrait ressembler à ceci:
{"nestle" => 10, "cocacola" => 20, "los pollos hermanos" => 50}
Je suis faire:
Appointment.joins(:company_friend).group("company_friends.name").count
Mais je reçois:
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...
Pouvez-vous montrer vos modèles '' CompanyFriendship' et CompanyFriend'? – Gerry
fait, a ajouté le reste des modèles @Gerry – user1262904