【问题标题】:Accessing row data from within a view - CodeIgniter从视图中访问行数据 - CodeIgniter
【发布时间】:2013-12-19 02:12:05
【问题描述】:

我正在尝试从视图(从模型中提取)访问行数据。但我似乎无法让它识别变量$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,但它不允许我访问它。我得到无法识别的变量。我也尝试在模型类中公开它。任何帮助表示赞赏。

【问题讨论】:

    标签: php codeigniter


    【解决方案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>"
    

    ;

    【讨论】:

      【解决方案2】:

      你的模特: 必须有这个代码 sn -p: return $row

      您的控制者:

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

      您的看法:

      echo $row->company_name;
      

      【讨论】:

        【解决方案3】:

        而不是在视图中调用模型函数在控制器中调用它并在视图中传递结果:

        $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;
        }
        

        您忘记添加 return $row;。现在在您的视图中,您可以以 $row->company_name

        的身份访问它

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-22
          • 1970-01-01
          • 1970-01-01
          • 2011-11-29
          相关资源
          最近更新 更多