将结果集转换为codeigniter中的数据库对象

将结果集转换为codeigniter中的数据库对象

问题描述:

我想在Codeignter中为从数据库中获取的结果集编写CSV。将结果集转换为codeigniter中的数据库对象

我已经在使用这里提到的解决方案。 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对象的形式返回结果吗?因为这似乎是我们需要的形式。

谢谢。

如果你需要的结果对象,那么你不应该使用result_array()

$this->db->get(); 

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

result_array() 

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

它很好用return $query = $this->db->get('hangtag_request');获得结果对象。

我解决了它。

就不得不删除result_array(),所以正确的代码变得

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