如何将模型中的数据作为对象和数组传递给我的视图?

时间:2012-09-28 13:20:41

标签: php codeigniter object codeigniter-2

我有以下查询,它返回一行。

MODEL:

function get_guide_first(){
        $this->db
            ->select('*')
            ->from('guides_entries')
            ->order_by("guide_name", "asc")
            ->limit(1, 0)
            ->join('guides_content', 'guides_content.guide_id = guides_entries.guide_id'); 
        $query = $this->db->get();
        return $query->result_array();
    }

这是我的控制器:

控制器:

public function get_first_guide(){
        $page_data['guide']=$this->guides_model->get_guide_first();
        $this->load->view('guidepage', $page_data);
    }

然后我在视图中运行foreach()循环(或者有时候是控制器)。

查看:

foreach($guide as $row){
    echo $row['guide_content'];
    $activecat=$row['guide_slug'];
 }

现在我想要做的就是从我的模型中返回一个数组,但即使使用:

return $query->row();

返回一个对象而不是一个数组。

1)如何将此行作为二维数组返回? 例如这样我就可以在控制器中回显结果作为指南['col_name']而不是指南() - > col_name。

2)我如何将对象传递给我的视图,以便我可以使用$ guide-> col_name(我需要将它传递给$ page_data数组)

2 个答案:

答案 0 :(得分:2)

如果我正确地阅读了您的问题:您可以使用row_array代替result_array

我认为: return $query->result_array();

返回

array(
   0 => array(
      'blah' => 'blah',
      'smile' => 'smile'
   )

);

只返回一个关联的数组。

行数组将返回

array(
  'blah' => 'blah',
  'smile' => 'smile'    
)

答案 1 :(得分:0)

在模型中使用row_array()..将返回关联数组。

function get_guide_first(){
    $this->db
        ->select('*')
        ->from('guides_entries')
        ->order_by("guide_name", "asc")
        ->limit(1, 0)
        ->join('guides_content', 'guides_content.guide_id = guides_entries.guide_id'); 
    $query = $this->db->get();
    return $query->row_array();
}