Está en la página 1de 2

USERLINUX 

CAKEPHP: USANDO REQUESTACTION DE


FORMA SENCILLA
Dic 26, 2007

Dados dos controladores distintos - users_controller.php y cars_controller.php- dentro de la misma


aplicación, supongamos que queremos cruzar información entre ellos. Por ejemplo dentro del
controlador de cars queremos un listado con los datos del user al que pertenece.

Para ello creamos una función dentro de users_controller.php que sea la encargada de devolver los
datos de un usuario seleccionado según $id:

function datos($id)
{
// Si no se accede por un requestAction no funciona
if(empty($this->params['requested'])) { exit; }
// Devuelve los datos del usuario seleccionado según $id
return $this->User->find('first',array('conditions' => array('User.id' => $id)));
}

Ahora solo nos queda llamar a esa función desde cars_controller y procesar la información para
que quede accesible a nivel de vista, lo haremos con este código:

function listado($id)
{
...
// Llamamos a la función datos() de users
$datos = $this->requestAction('/users/datos/'.$this->Session->read('sid'));
// Declaramos la variable que usaremos a nivel de vista
$this->set('dataUser', $datos);
}

En este caso el parámetro $id lo sacamos de una variable de sesión. El uso básico de requestAction
es sencillo y considero que con este ejemplo queda bien explicado.

REFERENCIAS
Requestation on bakery

ABOUT THE AUTHOR


Óscar has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix
user, Djangonaut and open source passionate.
     

© Oscar M. Lage <r0sk>


Powered by Django
Icons from Font Awesome

También podría gustarte