我正在尝试从视图(从模型中提取)访问行数据。但我似乎无法让它识别变量$row
型号: dash_model 公共函数 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
但它不允许我访问它。我得到无法识别的变量。我也尝试在模型类中将其公开。任何帮助,不胜感激。
不应从一个模型访问变量到另一个视图。您可以将结果传递给控制器,然后可以在视图中轻松访问它。
控制器:
$data['myData'] = $this->dash_model->getSettingsInformation();
$this->load->view("myViewName", $data);
视图:(我的视图名称)
echo "<table><tr><th>RowName</th></tr>";
foreach($myData as $myDatas)
{
echo "<tr>";
echo "<td>" . $myDatas->rowName . "</td>";
echo "</tr>";
}
echo "</table>"
;
您的模型:必须具有以下代码片段:返回$row
您的控制器:
$row = $this->dash_model->getSettingsInformation ();
$this->load->view('myView', data('row'=>$row));
您的观点:
echo $row->company_name;
不是在视图中调用模型函数,而是在控制器中调用它并将结果传递给视图:
$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访问>company_name