0

在过去的 Codeigniter 项目中,我一直使用$query->result_array()而不是$query->result()

例如,作为一个数组,我将在模型中包含以下内容:

$this->db->select('id, username');
$this->db->from('users');

$query = $this->db->get();

$result = array();
foreach ($query->result_array() as $row)
{
    $id = $row['id'];

    $result[$id]['id'] = $row['id'];
    $result[$id]['username'] = strtolower($row['username']);

)

return $result;

更多记录可能会变得非常混乱,即使我只需要对其中一个字段执行操作,我也必须添加所有字段。

现在,对于我当前的项目,我正在尝试$query->result(),这只是一个对象数组,但我不确定如何对它们执行操作并返回结果。

例如,如果我正在使用$query->result()并且我想让每个用户名都小写(strtolower),我将如何在模型中执行这些更改?

4

2 回答 2

1

您的示例和评论的答案:

$results = $query->result();
    foreach($results as $result){
        $result->username = strtolower($result->username);
    }
return $results;
于 2012-11-15T18:23:41.527 回答
0
foreach($query->result() as $row){
    $username_lower = strtolower($row->username);

    //if you want to actually update the record in the db
    $this->db->where('id',$row->id);
    $this->db->update('users', array('username' => $row->username));
} 
于 2012-11-15T18:22:04.480 回答