Salut juste besoin de savoir si vous pouvez interroger la base de données à partir d'une classe d'aide, si vous le devriez et comment vous le faites.cakePHP: Pouvez-vous interroger la base de données à partir d'une classe auxiliaire?
Merci
Salut juste besoin de savoir si vous pouvez interroger la base de données à partir d'une classe d'aide, si vous le devriez et comment vous le faites.cakePHP: Pouvez-vous interroger la base de données à partir d'une classe auxiliaire?
Merci
Vous pourriez, en passant une référence au modèle dans la vue comme une variable via $ this-> set(), puis l'interrogation ... mais vous ne devriez pas. CakePHP utilise le modèle MVC, et les helpers font partie de la vue (le V de MVC) - leur travail consiste uniquement à afficher les informations (déjà disponibles) qui leur sont transmises par le contrôleur.
Si votre vue a besoin d'informations supplémentaires, votre contrôleur doit avoir déjà interrogé les modèles pour l'obtenir.
Je vous suggère de lire sur le modèle MVC si vous n'êtes pas familier avec lui, alors un refactoring pourrait être dans l'ordre!
Oui. Vous pouvez interroger la base de données à partir de votre fichier d'aide. S'il vous plaît vérifier: -
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();
Je ne sais pas pourquoi cela est marqué comme correct - comme je voudrais aussi savoir comment mettre les requêtes de base de données communes dans les fichiers d'aide dans - il ne répond pas à la question du tout cakephp. – Rob