CakePHP: ¿Se puede consultar la base de una clase de ayuda?
-
26-09-2019 - |
Pregunta
Hola sólo necesita saber si se puede consultar la base de datos desde el interior de una clase de ayuda, ya que debe y cómo lo hace.
Gracias
Solución
Usted puede, pasando una referencia al modelo en la vista como una variable a través de $ this-> set () y luego consultar ... pero que no debería. Es desordenado; -)
CakePHP usa el modelo MVC, y ayudantes son parte de la vista (la V de MVC) -. Su trabajo es puramente para mostrar la información (ya disponible) se le ha pasado desde el controlador
Si su vista necesita información adicional, a continuación, el controlador debería haber consultado ya los modelos para conseguirlo.
Te sugiero que lea sobre el modelo MVC si no está familiarizado con él, a continuación, algunos refactorización podría estar en orden!
Otros consejos
Sí. Se puede consultar la base de datos desde el archivo de ayuda. Por favor, compruebe lo siguiente: -
class YourHelperNameHelper extends AppHelper {
function queryDbFromHelper()
{
// Load your model here
App::import('Model','ModelName');
$this->ModelName = new ModelName();
//now you can use find method or another method to query DB.
return $this->ModelName->find('all');
}
}
// Include this helper in controller
var $helpers = array('YourHelperName');
// call this function in helper file.
$this->YourHelperName->queryDbFromHelper();