1

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

模型:

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)如何将此行作为二维数组返回?例如,这样我就可以在控制器中将结果显示为guide['col_name'] 而不是guide()->col_name。

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

4

2 回答 2

2

如果我没看错你的问题:你可以使用row_array而不是result_array

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

返回一个

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

);

只返回一个关联的数组。

行数组将返回

array(
  'blah' => 'blah',
  'smile' => 'smile'    
)
于 2012-09-28T13:31:54.897 回答
0

Use row_array() in your model.. that will retrun associated 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();
}
于 2012-09-28T13:35:41.237 回答