我有以下查询,它返回一行。
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数组)
答案 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();
}