自分のコントローラで使用できるようにする必要があるモデルに作成され使用されている変数があります。モデルからコントローラへの変数の受け渡し
編集:
コントローラー:http://pastebin.com/jhAwAVa6
モデル:http://pastebin.com/9xXRyYAa
自分のコントローラで使用できるようにする必要があるモデルに作成され使用されている変数があります。モデルからコントローラへの変数の受け渡し
編集:
コントローラー:http://pastebin.com/jhAwAVa6
モデル:http://pastebin.com/9xXRyYAa
あなたはコントローラにモデルから変数を渡すことはできません。 コントローラを介してモデルのパブリック変数にアクセスできます。
echo $this->model_name->variable_name;
コントローラでアクセスする必要のある変数は、電子メールの$ userIDと$ verifyHash変数です。私は2つのファイルを含めました。これら2つの変数を公開する方法。さらに良い質問は、モデルページにコードを設定して変数を公開できるようにすることです。 –
@ jeff-davidsonあなたは、モデル/クラスでパブリック変数の宣言を追加するだけです。
class Model extends IR_Model { public var $userID; public var $verifyHash; public function __construct(){ } // your code here }
–
sepidol
それはあなたがやりたいまさに、あなたの質問から不明です。
それはモデルプロパティへのアクセスについてであれば、正しい方法は、アクセサメソッドを使用している:
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*/}
}
モデル(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();
コントローラでアクセスする必要がある変数は、電子メールの$ userIDと$ verifyHash変数です。私は2つのファイルを含めました。これら2つの変数を公開する方法。さらに良い質問は、モデルページにコードを設定して変数を公開できるようにすることです。 –
@sepidolはそのタスク権限を持っていました: 'echo $ this-> user_model-> userID;'。はい、あなたの変数はコントローラーで利用できるようにセットアップされていますが、モデル関数で変数を変更するときには、 '$ this-> userID = '私の新しい値';' – permawash
?私はあなたが何を意味するか分かりません?よくわかりません。私はどこに何を置くのですか? –
コントローラはモデルを呼び出すだけで値を返します。 –