2012-08-03 25 views
0

我有一個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得到任何財產

,但我得到這個消息的錯誤:

Message: Object of class stdClass could not be converted to string

爲什麼?

+0

什麼是'$ this-> db'?你在使用像CodeIgniter這樣的框架嗎? – 2012-08-03 01:33:50

+2

'getNews'返回什麼? 'var_dump($ data ['news'])'並檢查你有什麼。 – 2012-08-03 01:37:16

+1

如果您正在使用笨,那麼你可以用'$返回查詢 - > row_array(0)',但我真的不認爲這是什麼原因造成的錯誤消息。 – ghbarratt 2012-08-03 01:48:18

回答

2

而不是

return $query->row(0); 

使用此

return $query->row_array(0); 

將已經在數組形式獲取結果

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

首先刪除0從$查詢 - >行(),因爲它只提取單個記錄。隨後的print_r($數據),看看什麼是未來

而且做的這個

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

代替

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

現在你可以這樣調用

echo $news->id; 
+0

是啊,但事情是,我希望把它作爲一個stdClass的,這樣我可以訪問我的變量是這樣的:$新聞中心 - > ID而不是$消息[「身份證」] – 2012-08-03 03:39:05

+0

看到編輯我已經發布 – 2012-08-03 03:45:35

+0

好,但是如何將它傳遞給視圖呢?因爲我傳遞了一個數組:$ data,沒有別的。 「首先刪除0從$查詢 - >行(),因爲它僅提取單個記錄」 =>這是有意的) – 2012-08-03 17:46:31