我怎么能把我的stdClass传递给一个数组?

时间:2012-08-03 01:29:40

标签: php arrays codeigniter stdclass

我的数据库中有一个stdClass:

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

if(isset($options['id']) || $options['limit'] == 1)
    return $query->row(0);

我想把它传递给我的变量:

$data['news'] = $this->front_model->getNews($spec);

这样我就可以通过$data['news']->id

来获取任何财产

但是我收到此消息错误:

  

消息:类stdClass的对象无法转换为字符串

为什么?

1 个答案:

答案 0 :(得分:2)

而不是

return $query->row(0);

使用此

return $query->row_array(0);

它已经以数组形式

获取结果

http://codeigniter.com/user_guide/database/results.html

首先从$ query-> row()中删除0,因为它只提取单个记录。然后print_r($ data)看看会发生什么

也这样做

$news = $this->front_model->getNews($spec);

而不是

$data['news'] = $this->front_model->getNews($spec);

现在你可以像这样打电话了

echo $news->id;