Estoy intentando realizar una consulta entre modelos relacionados mediante HABTM, los modelos son Estudiante, Representante y EstudiantesRepresentante (campos : id, estudiante_id, representante_id), quiero listar los representantes de un estudiante mediante el id del estudiante.
estoy utilizando la función find de la siguiente manera $this->Representante->find('all', array( 'conditions'=>'EstudiantesRepresentante.estudiante_id'=>$id, 'recursive'=>1, 'joins'=>array( array( 'table' => 'estudiantes_representantes', 'alias' => 'EstudiantesRepresentante', 'type' => 'INNER', 'conditions' => array( 'Representante.id = EstudiantesRepresentante.representante_id', ) ) ) ) ); hasta aquí todo perfecto porque me trae la data referente al representante y al estudiante. Ahora mi pregunta: Como puedo traer los datos referente al Estudiante, es decir, los datos de los modelos con quien este se relaciona, porque hace "recursive" -1 en cuanto al Estudiante ?, por otra parte yo puedo hacer esto (joins anidados): $this->Representante->find('all', array( 'conditions'=>'EstudiantesRepresentante.estudiante_id'=>$id, 'recursive'=>1, 'joins'=>array( array( 'table' => 'estudiantes_representantes', 'alias' => 'EstudiantesRepresentante', 'type' => 'INNER', 'conditions' => array( 'Representante.id = EstudiantesRepresentante.representante_id', ), 'joins'=> array( array( 'table' => 'estudiantes_representantes', 'alias' => 'EstudiantesRepresentante', 'type' => 'INNER', 'conditions' => array( 'Representante.id = EstudiantesRepresentante.representante_id', ), ) ), ) ) ) ); Representante.php class Representante extends AppModel { public $name = 'Representante'; public $belongsTo = array( 'Vinculo', 'Nacionalidad' ); public $hasAndBelongsToMany = array( 'Estudiante' => array( 'className' => 'Estudiante', 'joinTable' => 'estudiantes_representantes', 'foreignKey' => 'representante_id', 'associationForeignKey' => 'estudiante_id', 'unique' => 'keepExisting', 'With' => 'EstudiantesRepresentante' ) ); } Estudiante.php class Estudiante extends AppModel { public $name = 'Estudiante'; var $virtualFields = array( 'fec_nac' => "TO_CHAR(Estudiante.fec_nac, 'dd/mm/YYYY')" ); public $belongsTo = array( 'Nivel', 'Estado', 'Municipio', 'Parroquia', 'Nacionalidad', ); public $hasMany = array( 'EstudiantesEmpresasOficio' ); } Gracias de antemano. Saludos. -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cakephp-es+unsubscr...@googlegroups.com. Para publicar una entrada en este grupo, envía un correo electrónico a cakephp-es@googlegroups.com. Visita este grupo en http://groups.google.com/group/cakephp-es. Para obtener más opciones, visita https://groups.google.com/groups/opt_out.