我有我的模型上創建和使用的變量,我需要能夠在我的控制器上使用如何完成?將變量從模型傳遞到控制器
編輯:
控制器:http://pastebin.com/jhAwAVa6
型號:http://pastebin.com/9xXRyYAa
我有我的模型上創建和使用的變量,我需要能夠在我的控制器上使用如何完成?將變量從模型傳遞到控制器
編輯:
控制器:http://pastebin.com/jhAwAVa6
型號:http://pastebin.com/9xXRyYAa
你不能從一個模型到控制器傳遞變量。 您可以通過控制器訪問模型的公共變量。
echo $this->model_name->variable_name;
那麼我需要在控制器上訪問的變量是電子郵件的$ userID和$ verifyHash變量。我已經包含了這兩個文件。如何讓這兩個變量公開。更好的問題是,我是否在模型頁面上設置了編碼,以便公開變量。 –
@ 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變量。我已經包含了這兩個文件。如何讓這兩個變量公開。更好的問題是,我是否在模型頁面上設置了編碼,以便公開變量。 –
@ sepidol有這個任務:'echo $ this-> user_model-> userID;'。是的,您的變量設置爲可用於控制器,但是當您在模型函數中修改它們時,您需要正確地確定它們的範圍:$ this-> userID ='my new value';' – permawash
咦?我不知道你的意思?我很困惑。我把什麼放在哪裏? –
你的控制器應該調用模型,所以你只需要返回一個值。 –