Ok ahora creo que te entiendo....

Yo no soy muy experto y no se si será la mejor forma... pero cuando yo tengo
que hacer lo que creo tu intentas hacer hago dos búsquedas... La primera
para los usuarios y meto en un array el resultado, luego hago la busqueda de
las notas pasando como conditions el array... así tengo dos búsquedas
distintas con el mismo resultado, pero puedo pasar parámetros distintos y
variables a limit, order, etc...

Quizás no sea eso tampoco lo que buscas :S

Saludos!

El 14 de marzo de 2011 01:08, moral3jo <moral...@gmail.com> escribió:

> 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 <javi.vil...@gmail.com> 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 <moral...@gmail.com> 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 <javi.vil...@gmail.com> wrote:
> > > > $notes = $this->User->Note->find('all', array('limit' => $variable));
> >
> > > > Algo asi??
> >
> > > > Saludos.
> >
> > > > El 13 de marzo de 2011 17:27, moral3jo <moral...@gmail.com>
> 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 <javi.vil...@gmail.com> 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 <moral...@gmail.com>
> > > 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
> > > > > > > cakephp-es@googlegroups.com.
> > > > > > > Para anular tu suscripción a este grupo, envía un correo
> > > electrónico a
> > > > > > > cakephp-es+unsubscr...@googlegroups.com
> > > > > > > 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
> > > > > cakephp-es@googlegroups.com.
> > > > > Para anular tu suscripción a este grupo, envía un correo
> electrónico a
> > > > > cakephp-es+unsubscr...@googlegroups.com
> > > > > 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
> > > cakephp-es@googlegroups.com.
> > > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > > cakephp-es+unsubscr...@googlegroups.com
> > > 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
> cakephp-es@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> cakephp-es+unsubscr...@googlegroups.com
> 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 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a