我正在尝试从视图中访问行数据(从模型中提取)。但我似乎无法识别变量$row
型号:dash_model public function getSettingsInformation(){ 全球$ 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();
}
}
查看
在视图中我首先打电话:<?php $this->dash_model->getSettingsInformation(); ?>
然后我尝试拨打$row->company_name
,但它不允许我访问它。我得到了无法识别的变量。我也试过在模型类中公开它。任何帮助表示赞赏。
答案 0 :(得分: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>"
答案 1 :(得分:1)
你的模特: 必须有以下代码段:return $ row
您的控制器:
$row = $this->dash_model->getSettingsInformation ();
$this->load->view('myView', data('row'=>$row));
您的观点:
echo $row->company_name;
答案 2 :(得分: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; 。现在,您可以在 $ row-&gt; company_name
中访问它