CakePHP: Pouvez-vous interroger la base de données à partir d'une classe d'aide?

StackOverflow https://stackoverflow.com/questions/4031251

  •  26-09-2019
  •  | 
  •  

Question

Salut juste besoin de savoir si vous pouvez interroger la base de données à l'intérieur d'une classe d'aide, si vous devez et comment vous le faites.

Merci

Était-ce utile?

La solution

Vous pouvez, 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. Il est salissant; -)

CakePHP utilise le modèle MVC, et les aides font partie de la vue (V de MVC) -. Leur travail est purement pour afficher le (déjà) les informations transmises à ce contrôleur du

Si votre point de vue a besoin d'informations supplémentaires, votre contrôleur aurait 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 elle, alors refactoring pourrait être dans l'ordre!

Autres conseils

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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top