2011-08-12 25 views

答えて

1

あなたはコントローラにモデルから変数を渡すことはできません。 コントローラを介してモデルのパブリック変数にアクセスできます。

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

コントローラでアクセスする必要のある変数は、電子メールの$ userIDと$ verifyHash変数です。私は2つのファイルを含めました。これら2つの変数を公開する方法。さらに良い質問は、モデルページにコードを設定して変数を公開できるようにすることです。 –

+0

@ jeff-davidsonあなたは、モデル/クラスでパブリック変数の宣言を追加するだけです。

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

3

それはあなたがやりたいまさに、あなたの質問から不明です。

それはモデルプロパティへのアクセスについてであれば、正しい方法は、アクセサメソッドを使用している:

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

モデル(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; 
} 

コントローラあなたがオブジェクトを作成する必要はありません

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 
    } 
} 

が(それは文字列にすることができ、T/F、配列など)通常はモデルとライブラリ関数から何かを返す必要があります。変数に返すことで返されたものにアクセスすることができます$info = $this->my_model->useful_info();

+0

コントローラでアクセスする必要がある変数は、電子メールの$ userIDと$ verifyHash変数です。私は2つのファイルを含めました。これら2つの変数を公開する方法。さらに良い質問は、モデルページにコードを設定して変数を公開できるようにすることです。 –

+0

@sepidolはそのタスク権限を持っていました: 'echo $ this-> user_model-> userID;'。はい、あなたの変数はコントローラーで利用できるようにセットアップされていますが、モデル関数で変数を変更するときには、 '$ this-> userID = '私の新しい値';' – permawash

+0

?私はあなたが何を意味するか分かりません?よくわかりません。私はどこに何を置くのですか? –

関連する問題