2011-08-12 12 views

Répondre

1

Vous ne pouvez pas passer la variable d'un modèle au contrôleur. Vous pouvez accéder aux variables publiques d'un modèle via un contrôleur.

echo $this->model_name->variable_name;
+0

Eh bien, les variables dont j'ai besoin d'accéder au contrôleur sont les variables $ userID et $ verifyHash pour l'email. J'ai inclus les deux fichiers. Comment rendre ces deux variables publiques? Encore mieux, est-ce que j'ai le codage mis en place sur ma page de modèle afin que je puisse rendre les variables publiques. –

+0

@ jeff-davidson vous avez juste besoin d'ajouter une déclaration de variable publique sur le modèle/la classe.

 class Model extends IR_Model { public var $userID; public var $verifyHash; public function __construct(){ } // your code here } 
sepidol

3

On ne sait pas de votre question, ce que vous voulez faire exactement.

Si elle est d'accéder aux propriétés du modèle, de la bonne façon utilise des méthodes accesseurs:

class Model extends CI_Model{ 
    private $name; 

    public function getName() {return $this->name; /*any other logic here*/} 
    public function setName($value) {$this->name= $value; /*any other logic here*/} 
} 
1

Modèle (my_model)

function useful_info() 
{ 
    $data = new stdClass(); 
    $q = $this->db->get('users'); 
    $data->users = $this->db->result(); 
    $data->date = date('Y-m-d'); 
    $data->info = array('whatever','more','anything'); 
    return $data; 
} 

Contrôleur

function index() 
{ 
    $info = $this->my_model->useful_info(); 
    foreach($info->users as $user) 
    { 
     echo $user->id; 
    } 
    echo $info->date; 
    if($info->info[0] == 'whatever') 
    { 
     // do something 
    } 
} 

Vous ne devez pas créer un objet (il peut être une chaîne, T/F, tableau, etc.) , mais vous devez généralement renvoyer quelque chose à partir de vos fonctions de modèle et de bibliothèque. Et vous pouvez accéder à ce que vous retournez en le retournant à une variable $info = $this->my_model->useful_info();

+0

Eh bien, les variables dont j'ai besoin d'accéder au contrôleur sont les variables $ userID et $ verifyHash pour le courrier électronique. J'ai inclus les deux fichiers. Comment rendre ces deux variables publiques? Encore mieux, est-ce que j'ai le codage mis en place sur ma page de modèle afin que je puisse rendre les variables publiques. –

+0

@sepidol avait cette tâche à droite: 'echo $ this-> user_model-> userID;'. Oui, vos variables sont configurées pour être disponibles pour le contrôleur de cette façon, mais lorsque vous les modifiez dans les fonctions du modèle, vous devrez les définir correctement '$ this-> userID = 'ma nouvelle valeur';' – permawash

+0

Hein? Je n'ai aucune idée de ce que tu veux dire? Je suis confus. Je mets quoi? –

Questions connexes