Buenas tardes a todos, una duda que se me plantea en una aplicación que estoy implementando. Tengo dos clases, Usuario y Concierto, en la que cada concierto está creado por un usuario. Por lo tanto, en el modelo de concierto declaro "belongs_to :user" y en el de usuario "has_many :concerts", y tendré un método "concerts" que me devolverá todos los conciertos creados por ese usuario. Sin embargo, si ahora quiero implementar otra relación, asistencia, en la que un usuario puede asistir a muchos conciertos, y un concierto puede tener muchos asistentes, es decir, una relación varios a varios, y declaro en cada modelo la sentencia "has_and_belongs_to_many" correspondiente, no se crearÃa otro método "concerts" que se solaparÃa con el anterior? Muchas gracias y perdón por el trabalenguas Un saludo
on 2010-07-22 15:18
on 2010-09-14 05:19
David Garcia wrote: > Buenas tardes a todos, > > una duda que se me plantea en una aplicación que estoy implementando. > Tengo dos clases, Usuario y Concierto, en la que cada concierto está > creado por un usuario. Por lo tanto, en el modelo de concierto declaro > "belongs_to :user" y en el de usuario "has_many :concerts", y tendré un > método "concerts" que me devolverá todos los conciertos creados por ese > usuario. Sin embargo, si ahora quiero implementar otra relación, > asistencia, en la que un usuario puede asistir a muchos conciertos, y un > concierto puede tener muchos asistentes, es decir, una relación varios a > varios, y declaro en cada modelo la sentencia "has_and_belongs_to_many" > correspondiente, no se crearÃa otro método "concerts" que se solaparÃa > con el anterior? > > Muchas gracias y perdón por el trabalenguas > > Un saludo no creo que te sirva la relación habtm , porque seguramente en la tabla de unión de asistencias por ejemplo, deberás guardar el # de asistencias y con una relación habtm no podrás poner datos extras a las llaves foraneas. Saludos.
on 2010-10-03 19:34
Debes usar la realcion tiene a traves de , o has_many through asi crear una table de conciertos otra de usuarios y una de asistencias, es muy facil. Si aun no sabes como me puedes preguntar
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.