2012-03-26 90 views
0

我正在使用codeigniter。我有一個表格要顯示在視圖文件中。所以我有一個模型,我開始查詢從表中獲取數據。如何將數據從模型返回到控制器和控制器到codeigniter中的視圖

function my_active_requests() 
    { 
     $user_id = $this->session->userdata('user_id'); 
     $this->db->select('id,request_date,required_by_date'); 
      $this->db->where('requested_by',$user_id); 
      return $this->db->get('requests'); 
      ///also tried with 
      //$query = $this->db->get('requests'); 
     ///$number_of_rows = $query->num_rows; 
      //return $query; 
      //return $number_of_rows; 
      //but no result 
    } 

這是模型函數。

這是我的控制器

function my_active_req() 
     { 

      $this->bloodline_model->my_active_requests(); 
        //also tried without this// 
        $query = $this->db->get('requests'); 
        //and this// 
      $number_of_rows = $query->num_rows; 
      $this->load->view('my_active_req'); 
     } 

,這是我的看法

<?php foreach ($query->result() as $row) { ?> 
     <tr> 
      <td><?php echo $row->id; ?></td> 
      <td><?php echo $row->request_date; ?></td> 
      <td><?php echo $row->required_by_date; } ?></td> 
     </tr> 
    </table> 

但錯誤是不確定的變量$查詢。 我想,我無法將我的模型中的$查詢和其他數據返回到我的視圖中的控制器和控制器。 請爲我提供解決方案。 `

回答

0

改變這一行:

<?php 
$this->load->view('my_active_req', array(
    'query' => $query 
)); 

view()加載函數的第二個參數,可以傳遞變量到視圖中。

但是,你基本上繞過了MVC分離的目的。你希望控制器從模型中「詢問」信息(不僅僅是直接來自數據庫;否則,模型的重點是什麼?),然後將它「傳遞」給視圖。控制器知道視圖需要什麼功能。

+0

但與回報$模型功能正確..returning這個 - > DB->獲取( '請求' ); – user1110597 2012-03-26 19:56:01

+0

可能不是。您通常會返回一個數組或標準對象,而不是'CI_DB_Result'對象。試試'$ this-> db-> get('requests') - > result()' – landons 2012-03-27 14:16:25

0

型號

function my_active_requests() 
{ 
    $user_id = $this->session->userdata('user_id'); 
    $this->db->select('id,request_date,required_by_date'); 
    $this->db->where('requested_by',$user_id); 
    $query = $this->db->get('requests'); 
    if($query->num_rows) { 
     return $this->db->result(); 
    } 
     return false; 
} 

控制器

function my_active_req() 
{ 

    $results = $this->bloodline_model->my_active_requests(); 
    $this->load->view('my_active_req', array('user_data' => $results)); 
}  

查看

<?php 
    if($user_data) { 
     foreach ($user_data as $row) { ?> 
    <tr> 
     <td><?php echo $row->id; ?></td> 
     <td><?php echo $row->request_date; ?></td> 
     <td><?php echo $row->required_by_date; } ?></td> 
    </tr> 
</table> 
相關問題