如何将变量$ data传递给控制器​​?

时间:2014-09-15 04:28:03

标签: codeigniter

我不知道将$data变量从Model传递给Controller。 在模型中:

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);

}

1 个答案:

答案 0 :(得分:0)

您应该使用return关键字,该关键字用于将数据从一个函数传递到另一个函数。您还需要在加载视图之前加载并调用模型方法,以便可以在视图中使用模态中的数据。我认为您需要检查MVC patternCodeigniter userguide

在你的模特中,

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);

}