Codeigniter修改数据库查询数组项

时间:2012-02-22 22:20:08

标签: php database arrays codeigniter

我试图在输出到视图之前修改数据库中的日期字段,但我没有太多运气。这段代码似乎不起作用,我做错了什么?

function get_journal_entry($id)
    {
        $sql = 'SELECT * FROM journal WHERE user_id = '.$this->tank_auth->get_user_id().' AND id = '.$id;
        $query = $this->db->query($sql);

        $query['created'] = date("c", strtotime($query['created']));


        return $query->row_array();
    }

2 个答案:

答案 0 :(得分:3)

$this->db->query返回查询对象,而不是结果。 调用$query->row_array后,您需要修改行。

$query = $this->db->query($sql);
$result = $query->row_array();
$result['created'] = date("c", strtotime($result['created']));
return $result;

答案 1 :(得分:1)

该代码的另一个版本可能有效:

function get_journal_entry($id)
{
    $sql = 'SELECT * FROM journal WHERE user_id = ' . intval($this->tank_auth->get_user_id()) . ' AND id = ' . intval($id);
    $row = $this->db->query($sql)->row_array();
    $row['created'] = date("c", strtotime($row['created']));
    return $row;
}