2013-04-08 3 views
0

Je développe un composant joomla 2.5 où j'ai besoin de passer des données de contrôleur à modèle. Le contrôleur reçoit des données de l'URL. Je trouve que le contrôleur obtient la valeur correctement. Maintenant, je dois déplacer cette valeur pour modéliser à partir du contrôleur. De poste différent, j'ai trouvé un extrait de code pour le contrôleur comme ci-dessous.transmission des données du contrôleur au modèle dans Joomla 2.5

$datevalue = JRequest::getVar('day',$day); //receiving value from view 
$item = JRequest::setVar('day',$datevalue); //setting variable 

$model =& $this->getModel('WeeklyProgram'); //assign model 
$model->setState('dayVar', $item); // assign value for model 

Le problème est que je ne sais pas comment recevoir cette valeur 'dayVar' du modèle. Quelqu'un peut-il m'aider sur cette question? Merci.

+0

S'il vous plaît, arrêtez l'attribution des objets par référence. Depuis PHP 5.0, cette pratique est considérée comme nuisible. –

+0

Merci pour l'information. Je vais supprimer la référence. – Saadi

+0

Pour en savoir plus, vous pouvez regarder ces deux vidéos sur le sujet: https://www.youtube.com/watch?v=_YZIBWQr_yk et https://www.youtube.com/watch?v=bxxIXPc9IR8 –

Répondre

0

Utilisez les choses suivantes

Dans Modal

class CommunityModelCevent extends JCCModel 
{ 
var $membersCount = null; 

    function getMembersCount($value) { 
    $this->membersCount = $value // set your value here 15 

    // Now you can access this variable into model 

    } 
} 

Dans contrôleur

$ceventModel = CFactory::getModel('cevent');  
$membersCount = $ceventModel->getMembersCount(15); 
0

Vous pouvez le faire comme ça. Tout d'abord vous permettre d'obtenir et de la fonction définie dans le model.Second charger le modèle dans le contrôleur et il suffit de passer les valeurs setter function.Example comme suit:

updateratings.php --- ceci est mon modèle

class RatingManagerModelUpdateRatings extends JModelLegacy 
    { 
    public $data; 

    public function get_data(){ 
    $data=$this->data; 
    return $data; 
    } 

    public function set_data($data){ 
      $this->data=$data; 
    } 

    } 

Controller.php classe RatingManagerController étend JControllerLegacy {

public function save_ratings(){ 

$tips = JRequest::getVar('tips'); //get data from front end form 
$model = $this->getModel('UpdateRatings'); //load UpdateRatings model 
$model->set_data($tips); //update setter function of model 
$res=$model->get_data(); // retrieve getter function 
    //print_r($res); 

} 

} 
Questions connexes