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

È stato utile?

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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top