2013-12-19 76 views
2

我試圖從視圖中訪問行數據(從模型拉入)。但我似乎無法得到它的識別變量$row從視圖內訪問行數據 - CodeIgniter

型號:dash_model 公共職能getSettingsInformation(){ 全球$行;

$session_data = $this->session->userdata('logged_in'); 
    $this->db->select('company_id, company_name'); 
    $this->db->from('company_information'); 
    $query = $this->db->get(); 

    if ($query->num_rows() > 0) { 
     // grab data 
     $row = $query->row(); 
    } 
} 

查看

內視聽我第一次通話:<?php $this->dash_model->getSettingsInformation(); ?>,然後我嘗試打電話$row->company_name但它不會讓我訪問它。我得到無法識別的變量。我已經嘗試在模型類中公開它。任何幫助表示讚賞。

回答

1

您不應該從模型訪問變量來查看。您可以將結果傳遞給控制器​​,然後您可以在View中輕鬆訪問它。

控制器:

$data['myData'] = $this->dash_model->getSettingsInformation(); 
$this->load->view("myViewName", $data); 

視圖:(myViewName)

echo "<table><tr><th>RowName</th></tr>"; 
foreach($myData as $myDatas) 
{ 
echo "<tr>"; 
echo "<td>" . $myDatas->rowName . "</td>"; 
echo "</tr>"; 
} 
echo "</table>" 

;

+0

忘記在myDatas上添加$標誌。已編輯。 – vahnevileyes

1

模型: 必須有這樣的代碼片段:返回$行

控制器:

$row = $this->dash_model->getSettingsInformation(); 
$this->load->view('myView', data('row'=>$row)); 

您的看法:

echo $row->company_name; 
0

不需要調用模型功能重刑鑑於叫它控制器並將結果傳遞鑑於:

$data['row'] = <?php $this->dash_model->getSettingsInformation(); ?> 
$this->load->view("your_view",$data); 

改變你的模型功能:

public function getSettingsInformation() 
{ global $row; 

    $session_data = $this->session->userdata('logged_in'); 
    $this->db->select('company_id, company_name'); 
    $this->db->from('company_information'); 
    $query = $this->db->get(); 

    if ($query->num_rows() > 0) { 
    // grab data 
    $row = $query->row(); 
    } 
    return $row; 
} 

你忘了添加回報$行;。現在在您看來,您可以訪問它作爲$ row-> company_name