在CodeIgniter中有一个函数query->row_array
,它将为您提供结果的关联数组,将列名称映射到值。但是,只有当结果有一行时,此功能才有效。
我需要的是一个函数,它将为查询结果中的每一行返回一个关联数组。
我目前正在做:
$arr = array ();
foreach ($query->result() as $row) {
array_push ($arr, array("col1" => $row->col1, "col2" => $row->col2, ...));
}
return $arr;
这不仅会使读取和写入变得烦人,而且当我向此表添加更多列时,它也不会扩展。我在几个地方都有类似的代码,我希望我可以用更清洁的东西替换它。
我希望有类似的东西:
$arr = array ();
foreach ($query->result() as $row) {
array_push ($arr, $row->to_array());
}
return $arr;
有类似的东西吗?甚至更好:
return $query->result_array ();
答案 0 :(得分:2)
尝试
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
https://www.codeigniter.com/user_guide/database/results.html
答案 1 :(得分:0)
使用此方法,
$query = $this->db->get_where('table', array('table_id' => $id));
$queryArr = $query->result();
foreach ($queryArr[0] as $key=>$val)
{
$row[$key]=$val;
}
print_r($row); //$row will give associative array
答案 2 :(得分:-1)
您可以使用result_array()
查看原始文档
http://ellislab.com/codeigniter/user-guide/database/results.html
示例代码。
$query = $this->db->query("YOUR QUERY");foreach ($query->result_array() as $row){ echo $row['title']; echo $row['name']; echo $row['body'];}
答案 3 :(得分:-1)
$ this-> db-> row();
或
$ query-> row();