在resultigniter中将结果集转换为数据库对象

时间:2014-07-09 10:59:44

标签: php codeigniter

我正在尝试在Codeignter中为从db。

获取的结果集编写CSV

我已经在使用这里提到的解决方案了。 Reports in Codeigniter

但问题在于它写了整个表格。现在我想获取并写入特定记录。所以这是我的模型代码。

    $where = "hangtag_spoc_number = 2202";
    $result = $this->db->select('*')
            ->from('hangtag_request')
            ->where($where)
            ->get()
            ->result_array();
    return $result;

它给了我这个错误。

You must submit a valid result object

如果我将型号代码更改为此

    return $query = $this->db->get('hangtag_request');

完美无缺。有什么办法可以让我的模型代码以DB对象的形式返回结果吗?因为它似乎是我们需要的形式。

感谢。

2 个答案:

答案 0 :(得分:1)

我解决了。

只需删除result_array(),以便正确的代码变为

$where = "hangtag_spoc_number = 2202";
$result = $this->db->select('*')
        ->from('hangtag_request')
        ->where($where)
        ->get();
return $result;

答案 1 :(得分:1)

如果您需要结果对象,则不应使用result_array()

$this->db->get();

上面的语句运行选择查询并返回结果。它确实以可用于表示的形式返回。

result_array()

此函数将查询结果作为数组返回,或者在未生成结果时返回空数组。

很高兴使用return $query = $this->db->get('hangtag_request');来获取结果对象。