J'utilise Rails 3 et voulait obtenir les classes un étudiant a accès basé sur le modèle ci-dessousRails requête à l'aide HMTH et plusieurs modèles rejoindre
class Student
has_many :students_levels
has_many :levels, :through => :students_levels
end
class Class
has_many :classes_levels
has_many :levels, :through => :classes_levels
end
class Level
has_many :students_levels
has_many :classes_levels
end
class StudentsLevel
belongs_to :students
belongs_to :levels
end
class ClassesLevel
belongs_to :classes
belongs_to :levels
end
je suis venu avec la requête ci-dessous, mais n'a pas Je pense que cela semblait être la meilleure façon de faire les choses et je voulais obtenir des suggestions supplémentaires. Thx
Class.where(:id => (ClassesLevel.where(:level_id => Student.find(1).levels)))
Je veux ajouter cela comme une méthode d'instance pour étudiants et pensait qu'il y aurait une meilleure façon de faire quelque chose avec a beaucoup à travers.
Juste un indice: le nom de classe appelé «Classe» peut vous conduire à de nombreux problèmes. – hade