2009-04-21 6 views
0

J'ai une structure « arborescente » à ma base de données dans une application que je suis en train d'écrire de telle sorte que:l'accès des enfants des tables enfants dans Rails

training has_many class_times 

et

class_time has_many reservations 

est-il un moyen rechercher toutes les réservations sous une formation donnée? Je pourrais parcourir tous les cours/ajouter une clé étrangère, bien sûr, mais pour une raison quelconque j'ai cette petite voix à l'arrière de ma tête qui dit que je ne pourrais pas avoir besoin d'une clé étrangère pour cela.

Répondre

4
class Training < ActiveRecord::Base 
    has_many :class_times 
    has_many :reservations, :through => :class_times 
end 

class ClassTime < ActiveRecord::Base 
    has_many :reservations 
end 

vous pouvez faire:

training = Training.find(:first) 
training.reservations 
+0

pour une raison quelconque, je pensais que le: par l'association avait besoin de plus d'information, gel du cerveau pour une seconde. Merci pour l'aide! brillant! – BushyMark

Questions connexes