Codeigniter 如何将变量$数据传递给控制器?
我不知道如何将$data变量从模型传递到控制器。 在模型中:Codeigniter 如何将变量$数据传递给控制器?,codeigniter,Codeigniter,我不知道如何将$data变量从模型传递到控制器。 在模型中: function active(){ $query = $this->db->query(" SELECT * FROM `event` WHERE DATE_FORMAT( NOW( ) , '%m-%d-%Y' ) BETWEEN START AND END "); foreach($query->result_array() as $row){ $ev_n
function active(){
$query = $this->db->query(" SELECT * FROM `event` WHERE DATE_FORMAT( NOW( ) , '%m-%d-%Y' ) BETWEEN START AND END ");
foreach($query->result_array() as $row){
$ev_name = $row['ev_name'];
$image = $row['ev_image'];
$start = $row['start'];
$end = $row['end'];
$desc = $row['ev_dec'];
$ev_id = $row['ev_id'];
}
$data = array('ev_name' => $ev_name,
'ev_image' => $image,
'start' => $start,
'end' => $end,
'ev_desc' =>$desc,
'ev_id'=> $ev_id
);
echo $data;
}
在控制器中:
function active_event()
{
$this->load->view('active_event');
$this->load->model('Usermodel', Sdata);
}
您应该使用return关键字,该关键字用于将数据从一个函数传递到另一个函数。在加载视图之前,还需要加载并调用model方法,以便可以在视图中使用model中的数据。我想你需要检查一下
在你的模型中
function active(){
$query = $this->db->query(" SELECT * FROM `event` WHERE DATE_FORMAT( NOW( ) , '%m-%d-%Y' ) BETWEEN START AND END ");
foreach($query->result_array() as $row){
$ev_name = $row['ev_name'];
$image = $row['ev_image'];
$start = $row['start'];
$end = $row['end'];
$desc = $row['ev_dec'];
$ev_id = $row['ev_id'];
}
$data = array('ev_name' => $ev_name,
'ev_image' => $image,
'start' => $start,
'end' => $end,
'ev_desc' =>$desc,
'ev_id'=> $ev_id
);
return $data;
}
在控制器中
function active_event()
{
$this->load->model('YOUR MODEL NAME');
$data = $this->YOURMODELNAME->active();
$this->load->view('active_event', $data);
}
与其回显$data,为什么不返回它呢。因此,不要使用echo$data>return$data。还有一件事,在您的控制器中,最好是在构造函数$this->load->model'Usermodel',myModel'中预加载模型;。然后可以通过$this->myModel->active调用模型中的函数。要获取返回的值$data,$data=$this->myModel->active