Quiero utilizar "getpoll", que es la acción del controlador de usuarios, en otro controlador (controlador de eventos).¿Cómo llamar a la acción del controlador en otro controlador en cakephp?
¿Cómo puedo usarlo?
de antemano gracias ... a todos ...
Quiero utilizar "getpoll", que es la acción del controlador de usuarios, en otro controlador (controlador de eventos).¿Cómo llamar a la acción del controlador en otro controlador en cakephp?
¿Cómo puedo usarlo?
de antemano gracias ... a todos ...
debe escribir la consulta db de la acción getPoll()
como método en la encuesta modelo, de esa manera en su controlador de usuario que sólo puede llamar a $this->User->Poll->getPolls()
para agarrar las urnas, y si las asociaciones están configurados correctamente, $this->Event->Poll->getPolls()
desde su controlador de eventos.
Por ejemplo, en el modelo de encuesta:
public function getPoll($userId = null) {
return $this->find('all', array(..));
}
Puede utilizar el método requestAction del controlador:
$this->requestAction('/comments/latest');
se le puede llamar de forma diferente en función de sus necesidades para obtener más información busque el enlace :
Enlace al libro de cocina: Controller requestAction Method
No debe usar requestAction para algo tan simple como esto, el consejo correcto sería poner el método getPoll en el * modelo * de usuario. – Dunhamzzz
Usted podría compartir una pieza común de código entre los controladores con los componentes.
Los estados de libros de cocina:
Si se utiliza sin el almacenamiento en caché requestAction pueden conducir a un mal desempeño. Rara vez es apropiado usarlo en un controlador o modelo. http://book.cakephp.org/2.0/en/controllers.html
Y this después mostrar un enfoque diferente y mejor
¿Esta acción tiene un punto de vista? – 8vius
posible duplicado de [CakePHP 2.3.8: Llamar a otra función de controlador en CronController.php] (http://stackoverflow.com/questions/19344988/cakephp-2-3-8-calling-another-controller-function-in- croncontroller-php) –