Cambia
'fields' => 'Booking.id',

por esto
'fields' => array('Booking.id'),

Saludos.

-- 

David Riveros Fonseca | Desarrollador Web | ANDAIN - Desarrollo y diseño Web
drive...@andain.cl  | http://www.andain.cl/



2010/12/30 chalien <ingcharlypalen...@gmail.com>

> Buenas
>
> La siguiente es con el fin de solicitar su ayuda acerca de un problema
> q se me ha presentado tengo los modelos
>
> user
> habitacion
> reserva
> Booking : reservas
> Property: Propiedades (de lugar ej habitaciones)
> user->Property
> Property->Booking
>
> cuando quiero traer algunos datos desde un find('all') que contenga
> algunos campos de cada modelo uso containable en la Booking asi
>
>
>    $this->Booking->Behaviors->attach('Containable');
>        $contain = array('User' => array('fields' =>
> array('User.last_name', 'User.email')),
>            'Property' => array('fields' => array('Property.id'),
> 'User' => array('fields' => array('User.last_name', 'User.email'))));
>
>        $cont = array('Property.id','User.id');
>
>
>        $Params = array('conditions' => array(
>                'Booking.id' => (int) 1,
>                'Booking.user_id' => (int) 1),
>                'fields' => 'Booking.id',
>            'recursive' => 2,
>            'contain' => $cont
>        );
>
>       //  $this->Showcase->User->find('first');
>        $this->Booking->fields = array('id');
>        $result = $this->Booking->find('first', $Params);
>        exit(print_r($result));
>    }
>
>
> dos posibles malas respuestas de cakephp
>
> 1. si le quito al find la propiedad fields. me trae todos los campos
> de booking (q no queiro) y me trae sus hijos bien de esta forma:
>
> Array (
> [Booking] => Array (
>                  [id] => 1
>                  [desc] => booking 1
>                  [user_id] => 1
>                  [property_id] => 1 )
>  [User] => Array (
>                 [last_name] => palencia
>                 [email] => chalien0...@hotmail.com )
>  [Property] => Array (
>                [id] => 1
>               [user_id] => 1
>               [User] => Array (
>                                 [last_name] => palencia
>                                    [email] =>
> chalien0...@hotmail.com ) )
>
> )
>
> no esta bien asi por q yo solo quiero obtener el id del booking
>
> 2. si coloco el campo field en el find recibo esto :
>
> Array ( [Booking] => Array ( [id] => 1 ) [User] => Array ( [id] => 1 )
> [Property] => Array ( ) )
>
> Donde solo tiene referencia para user pero a property no le ingresa
> ningun campo, haciendo como sea no lo ingresa.
>
>
> No se que hacer para que me quede asi :
>
> Array (
> [Booking] => Array (
>                  [id] => 1
>             )
>  [User] => Array (
>                 [last_name] => palencia
>                 [email] => chalien0...@hotmail.com )
>  [Property] => Array (
>                [id] => 1
>               [user_id] => 1
>               [User] => Array (
>                                 [last_name] => palencia
>                                    [email] =>
> chalien0...@hotmail.com ) )
>
> )
>
> si alguien sabe por favor ayudenme.  si quieren las fuentes y la bd de
> prueba avisenme
>
> Mcuhas 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...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> cakephp-es+unsubscr...@googlegroups.com<cakephp-es%2bunsubscr...@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...@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