cakePHP: Puoi interrogare il database da una classe di supporto?
-
26-09-2019 - |
Domanda
Ciao solo bisogno di sapere se è possibile interrogare il database da all'interno di una classe di supporto, se si deve e come lo si fa.
Grazie
Soluzione
Si potrebbe, passando un riferimento al modello nella vista come una variabile tramite $ this-> set () e poi l'interrogazione ... ma non si dovrebbe. E 'disordinato; -)
CakePHP utilizza il modello MVC, e aiutanti sono parte della vista (la V di MVC) -. Il loro lavoro è puramente per visualizzare le informazioni (già disponibili) passato ad esso dal controller
Se la vostra vista ha bisogno di informazioni supplementari, quindi il controller avrebbe dovuto già interrogato i modelli per farlo.
Io suggerirei di leggere sul modello MVC, se non hai familiarità con essa, poi alcuni refactoring potrebbe essere in ordine!
Altri suggerimenti
Sì. È possibile interrogare il database dal file di supporto. Si prega di controllare questo: -
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();