sí, yo lo hacía más cutre todavía pero podría vale.
Yo esperaba que me quedasen anidados, de esta manera veo que para
tratarlo luego hay 2 opciones. Recorrer ambos arrays y irlo colocando
en el controlador para luego en la vista solo ir mostrando los datos o
en la propia vista ir mostrando los datos de uno y otro array. Me
parece más limpia la primera pero requiere recorrer 3 arrays
posiblemente enormes mientras que con la segunda opción solo se
recorrerían 2 pero perderíamos el significado del MVC
¿No te parece?


On 14 mar, 03:40, Javier Villanueva <javi.vil...@gmail.com> wrote:
> 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