从视图中访问行数据 - CodeIgniter



我正在尝试从视图(从模型中提取)访问行数据。但我似乎无法让它识别变量$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

最新更新