Je les associations suivantes:Ne peut pas utiliser avec groupe has_many par Rails 5
class Student < ApplicationRecord
has_many :people_schools
has_many :schools, through: :people_schools
end
class PeopleSchool < ApplicationRecord
belongs_to :student
belongs_to :school
end
class School < ApplicationRecord
has_many :people_schools
has_many :students, through: :people_schools
end
Je suis en train d'obtenir une liste des étudiants organisée par leur école. Je l'ai essayé ce qui suit:
Student.joins(:schools).all.group('schools.name')
mais je reçois l'erreur suivante:
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "students.id" must appear in the GROUP BY clause or be used in an aggregate function
Comment puis-je résoudre ce problème?
Un étudiant peut-il fréquenter de nombreuses écoles («has_many: schools») ou devrait-il toujours en être un («has_one: school»)? Ou même 'belongs_to: school' sans la table de jointure? – ulferts