gracias javier
me explique mal, mi problema es cuando quiero poner 2 condiciones
distintas de 2 modelos y ambas son variables. por ejemplo algo así

$datos = $this->User->find('all', array('limit' => 10))->Note-
>find('all', array('limit' => 2));

osea recuperar 10 alumnos y de los 10 alumnos 2 notas. unas veces
serán 10 y 2, otras 5 y 3,...
Se que se puede paginar pero no me refiero a eso, sino a pasar
parámetros desde el controlador al modelo a 2 niveles ya sea limit
como fields, order,.... y estos no estén arraigados al modelo sino a
la accion del controler



On 14 mar, 00:24, Javier Villanueva <[email protected]> wrote:
> Si lo que quieres es todo, y Usuario es hasMany Notas... solo tienes que
> llamar a usuario. Ya te devuelve sus datos y los de sus notas.
>
> $this->User->find('all'); Es suficiente...
>
> En el siguiente ejemplo del manual puedes ver lo mismo pero para Usuario y
> Comentarios...
>
> // Resultados de ejemplo de llamada a $this->Usuario->find().
> Array
> (
>     [Usuario] => Array
>         (
>             [id] => 121
>             [name] => Gwoo the Kungwoo
>             [created] => 2007-05-01 10:31:01
>         )
>     [Comentario] => Array
>         (
>             [0] => Array
>                 (
>                     [id] => 123
>                     [usuario_id] => 121
>                     [title] => On Gwoo the Kungwoo
>                     [cuerpo] => The Kungwooness is not so Gwooish
>                     [created] => 2006-05-01 10:31:01
>                 )
>             [1] => Array
>                 (
>                     [id] => 123
>                     [usuario_id] => 121
>                     [title] => More on Gwoo
>                     [cuerpo] => But what of the ‘Nut?
>                     [created] => 2006-05-01 10:41:01
>                 )
>         )
> )
>
> El 13 de marzo de 2011 18:54, moral3jo <[email protected]> escribió:
>
>
>
>
>
>
>
> > Algo así, pero así solo obtendría datos de la tabla de Note y yo
> > quiero obtener un array de Users con sus Notas pero condicionar el
> > número de notas. Algo así:
>
> > $variable = 1;
> > $datos = $this->User->find('all')->Note->find('all', array('limit' =>
> > $variable));
> > y que vengan los datos asi:
>
> > [User]
> >          id => 1
> >          nombre => Juan
> >       [Nota]
> >               [id] => 1
> >               [asignatura] => Mates
> >               [nota] => 9.5
>
> > y si pongo $variable=2
>
> > [User]
> >          id => 1
> >          nombre => Juan
> >       [Nota]
> >               [id] => 1
> >               [asignatura] => Mates
> >               [nota] => 9.5
> >       [Nota]
> >               [id] => 2
> >               [asignatura] => Ingles
> >               [nota] => 9.3
>
> > On 13 mar, 18:35, Javier Villanueva <[email protected]> wrote:
> > > $notes = $this->User->Note->find('all', array('limit' => $variable));
>
> > > Algo asi??
>
> > > Saludos.
>
> > > El 13 de marzo de 2011 17:27, moral3jo <[email protected]> escribió:
>
> > > > muchas gracias, la primera opción parece bueno, lo repasare cuando
> > > > aprenda a usar Auth   :P
>
> > > > Lo del limit si sabia que se podía personalizar pero querría que fuera
> > > > una variable no el 5 que viene de ejemplo.
>
> > > > El limit de Usuarios si que he podido modificarlo desde el
> > > > controlador, pero el limit de Notas desde el controlador no se como
> > > > pasarle una variable o indicarle que unas veces quiero 5 y otras 100.
> > > > No se si me explico
>
> > > > On 13 mar, 16:38, Javier Villanueva <[email protected]> wrote:
> > > > > Para la primera opción puedes guardar el diseño de cada usuario en su
> > > > Tabla
> > > > > Usuarios. Y luego mediante la variable de sesión (Componentes Auth y
> > > > > Session) del usuario al loggearse extraer el diseño que tiene:
>
> > > > > $design = $this->Session->read('Auth.User.design');
>
> > > > > En el segundo caso tienes una asociación de modelos Usuario "hasMany"
> > > > > Notas... y puedes sacar desde usuario las notas de un usuario y
> > limitar
> > > > su
> > > > > búsqueda a 5 resultados:
>
> > > > >http://book.cakephp.org/es/view/1043/hasMany
>
> > > > > Espero te sirva de ayuda. Saludos!
>
> > > > > El 13 de marzo de 2011 15:52, moral3jo <[email protected]>
> > escribió:
>
> > > > > > tengo varias dudas.
>
> > > > > > ¿Cual es la mejor manera de tratar unas variables de usuario? Por
> > > > > > ejemplo algo de tipo configuración. una web tiene varios diseños y
> > el
> > > > > > usuario tiene elegido el diseño 2. Esto implica disponer de esta
> > > > > > variable tanto en los modelos en las vistas y posiblemente en los
> > > > > > controladores.
>
> > > > > > y la otra es un poco mas extensa.
> > > > > > Tengo 2 tablas, Usuarios y Notas. Un usuario tiene muchas notas.
> > > > > > Quiero mostrar por cada Usuario las 5 notas mas altas en unas
> > páginas
> > > > > > y todas en otras. Me gustaria poder hacerlo en el modelo para no
> > > > > > cargar la consula SQL recuperando exceso de datos que luego en el
> > > > > > controllador desecharia. Seria posible recuperar los datos del
> > usuario
> > > > > > y las notas variables desde el controllador llamando a
> > $this->Usuario-
> > > > > > >find()
>
> > > > > > saludos y muchas gracias
>
> > > > > > --
> > > > > > Has recibido este mensaje porque estás suscrito al grupo
> > "CakePHP-es"
> > > > de
> > > > > > Grupos de Google.
> > > > > > Para publicar una entrada en este grupo, envía un correo
> > electrónico a
> > > > > > [email protected].
> > > > > > Para anular tu suscripción a este grupo, envía un correo
> > electrónico a
> > > > > > [email protected]
> > > > > > Para tener acceso a más opciones, visita el grupo en
> > > > > >http://groups.google.com/group/cakephp-es?hl=es.
>
> > > > --
> > > > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es"
> > de
> > > > Grupos de Google.
> > > > Para publicar una entrada en este grupo, envía un correo electrónico a
> > > > [email protected].
> > > > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > > > [email protected]
> > > > Para tener acceso a más opciones, visita el grupo en
> > > >http://groups.google.com/group/cakephp-es?hl=es.
>
> > --
> > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> > Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > [email protected].
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > [email protected]
> > Para tener acceso a más opciones, visita el grupo en
> >http://groups.google.com/group/cakephp-es?hl=es.

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a