Bonjour j'aimerais savoir esque c'est possible de charger deux models dans une mm action dans mon Page controller je vousdrais récuperer des information afin de les afficher sur ma page d'acceuil mais elle se trouve dans differente table de mabase de donnée voila ce que j'ai fait pour les deux premiere sa marche impec car je recuperer de la mm table mais pour les info que je recuper de l'autre table sa ne veut pas m'afficher le contenu

function index() //function view correspon a une page php dan le fichier view avec le nom view
        {
            $this->loadmodel('Congre'); //le fichier qui se trouve dans le dossier model
            $this->loadmodel('Articles');               
            $d['une'] = $this->Congre->find(array(
                    'conditions' => array('online'=>1,
                                          'a_la_une'=>1)
            )); //this->nomModel->action on la met dans posts
            //envois a la vue le contenu du premir element 
            $d['carou'] = $this->Congre->find(array(
                    'conditions' => array('online'=>1,
                                          'caroussel'=>1)
            ));

            $d['news'] = $this->Articles->find(array(
                    'conditions' => array('online'=>1,
                                          'news'=>1) // c'est la table Article 
            ));

            if(empty($d['une']))
                { $this->e404('Page introuvable');

            } else{
                    $this->set($d);
                     //congre c'est la variable par la quelle on recuper le contenu de la base 
                }
            }

4 réponses


amr nassimssi
Auteur
Réponse acceptée

Problem regler au faite je m'été trempé dans la declaration de mon foreach news as $k=>news et jappeler $une dans mes appels

J'ai du mal à comprendre ce que tu veux faire/ce qui bloque. Mais normalement 2 loadModel ne pose aucun problème.

Je pense qu'il aimerai appeler un ou plusieurs model dans toute la classe sans le refaire à chaque fois dans une function, si c'est bien sa alors tu crée une variable vide dans ton controller.php (principal) et tu verifie dans le constructure si cette variable est appeler si elle l'est tu fait un foreach, je vais t'aider:

/* dans ton controller principal */
if(isset($this->models)) {
            foreach($this->models as $v) {
                $this->loadModel($v);
            }
        }
       /* dans ta classe */
       var $models = array('congre','article');

je veut recuperer des info de deux tables pour les afficher dans une mm page, comme je suit le tuto MVC les model c les noms des tables donc quand tu veut recuperer des articles et des congrer tu doit charger deux models mais jai un des model qui ne charge pas
dans le sens ou les info de article ne saffiche pas