>
> Hola:
>
> Estoy trabajando recientemente con cakePHP 1.2 y en el manual me
> encontre  con bindModel y undbindModel estuve leyendo algo sobre
> ellos, pero no logro entender con claridad como usarlos
>
> Por favor si alguien me puede ayudar.
>
Hola Hernán, los métodos bindModel y unbindModel sirven para crear y
deshacer asociaciones on the fly. Imaginate que tenés un modelo Usuario que
tiene como asociaciones: Perfil, Blog, Grupo, etc.

Utilizando recursive, podrias traer los datos asociados del Usuario, y
también los datos asociados a sus asociaciones, por ejemplo, lost Posts
asociados al Blog.

Ejemplo:
Recursive = 1.

Te traeria algo asi

array(
[Usuario] =array(
[Perfil] => array(...),
[Blog] => array(
    [Posts] array(
       [0] => array(),
       [1] => array(),
       [...] => array(),
       [n] => array()
    )
),
[Grupo] => array(
       [0] => array(),
       [1] => array(),
       [...] => array(),
       [n] => array()
)))

Por lo que si vos querés saber solamente los posts, desde el punto de vista
de la perfomance, no tiene mucho sentido que te genere todos los queries y
te traiga los demás datos.

Por lo tanto vos podrías antes de hacer el query, deshacer las relaciones
que no necesitás.

Ejemplo:
En el controllador:
$this->Usuario->unbindModel(array('belongsTo' => ('Grupo') ));

O en el modelo:
$this->unbindModel(array('belongsTo' => ('Grupo') ));

Por lo que te traeria solo:

[Usuario] =array(
[Perfil] => array(...),
[Blog] => array(
    [Posts] array(
       [0] => array(),
       [1] => array(),
       [...] => array(),
       [n] => array()
    )
)))

Ahorrandote muchos queries y tambien memoria en caso de grandes cantidades
de datos.

Sin embargo, antes de molestarte en usar bindModel y unbindModel, probá el
sensacional Bindable behavior que creó Mariano Iglesias:
http://bakery.cakephp.org/articles/view/bindable-behavior-control-your-model-bindings

Saludos,

-- 
Matias Lespiau
http://www.gignus.com/

--~--~---------~--~----~------------~-------~--~----~
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.

-~----------~----~----~----~------~----~------~--~---

Responder a