获取 CodeIgniter ActiveRecord 结果中每一行的关联数组



在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 ();

尝试

$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

使用此方法,

$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

您可以使用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'];}

$this->db->row();

$query->row();

最新更新