Dev-Diantre

Text Post

CodeIgniter – Faire appel à un modèle depuis un autre modèle

Nous avons été confrontés à une contrainte de CodeIgniter pendant le développement du CMS. La réponse s’est trouvée sur le forum officiel, bien cachée ^^

Mise en situation : nous sommes dans le modèle A, et nous souhaitons faire appel à une méthode du modèle B.

Il n’existe aucune façon de réaliser cet appel directement. Il faut faire appel au super-objet CI.

Voici la solution :

Class A_model extends Model {

private $_ci ;

function A_model() {

parent ::Model() ;

$this->_ci = &get_instance() ; // on récupère l’instance de l’objet ci

$this->_ci->load->model(‘B_model’) ; // chargement du modèle B

}

function foo() {

$this->_ci->b_model->methode() ; // appel à une méthode du modèle B

}

}

Ca marche aussi avec les chargements de classes et de helpers :)

2
Notes
  1. aeonra liked this
  2. gioielli liked this
  3. diantre posted this

Posté le 8 January 2010.

Tags: #code igniter #technique #php - Comments

blog comments powered by Disqus
Dev-Diantre Joseph alias Diantre, étudiant en IUT informatique, développeur Php (et récemment avec CodeIgniter), pleins de projets en tête !
Pour me contacter: joseph.silvestre38 [at] orange.fr
Previous Next