No es para nada redundante, y tiene un propósito. Como todo lo que se agrega al core de CakePHP, ha sido estudiado una y otra vez y concluido que es lo más efectivo y prolijo.
Por ejemplo, las mejores prácticas de CakePHP dicen que lo ideal no es usar $uses en tu controlador, sino que desde tu controlador, y utilizando el modelo principal, poder llegar a todos los modelos que necesites en el controlador. Si no podés llegar a un modelo a través de sus relaciones, entonces seguramente esa operación no pertenezca a ese controlador. Por ejemplo, si tenés un controlador UsersController, y como decís un modelo User -> hasOne -> Profile y tambien User -> hasMany -> Subject -> belongsTo -> School entonces, si no agregaste $uses para nada en tu controlador UsersController, podés hacer cosas como: $this->User->Profile->findAll(); O también: $this->User->Subject->School->findAll(); Del mismo modo, debido a que también definiste Profile -> belongsTo -> User, en tu ProfilesController podés hacer: $this->Profile->User->findAll(); Si no tuvieramos la relación definida, esto no sería posible, salvo que hagamos un requestAction() a alguna acción dentro del controlador UsersController y obtengamos así el resultado de la consulta. En cuanto a limitar el numero de modelos que son devueltos luego de hacer un find(), mi función expects() hace eso con bastante facilidad: http://bakery.cakephp.org/articles/view/185 -MI --------------------------------------------------------------------------- Remember, smart coders answer ten questions for every question they ask. So be smart, be cool, and share your knowledge. BAKE ON! blog: http://www.MarianoIglesias.com.ar -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Juan Pablo Araya Enviado el: Jueves, 12 de Abril de 2007 12:39 a.m. Para: CakePHP-es Asunto: Re: Duda sobre foreignKey en relaciones hasOne y belongsTo Si solamente usas los datos desde User, no sería necesario declarar el belongsTo en Profile. De todas maneras lo he hecho siempre con ambas declaraciones aunque no necesite usar explícitamente Profile. Lo que me tiene un poco complicado es sobre la cantidad de declaraciones SQL que haría cake en estos casos. Por ejemplo puedo tener: Usuario-hasMany-Asignatura-belgonsTo-Ramo-belongsTo-Instituto o algo asi (incluso con más relaciones hasMany en la línea de relación).... si hago Usuario->findById(x), me entregaría un objeto con todas las relaciones. Hay alguna forma de soslayar toda la estructura que quizá no la necesite más que algunas veces? --~--~---------~--~----~------------~-------~--~----~ Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a [EMAIL PROTECTED] Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups.google.com/group/CakePHP-es?hl=es. -~----------~----~----~----~------~----~------~--~---
