2017-05-24 65 views
0

當我嘗試獲取特定的ID並且不讓我保存表單時,拋出了數組到字符串的轉換。我只需要爲'自動填充字段'而設置'intervaloHorario'的id,但我不知道我做錯了什麼。請給我一個手。PHP迭代查詢結果時,foreach無法正常工作

錯誤

嚴重性:4096

消息:類stdClass的的對象不能被轉換成字符串

模型函數

public function get_idintervalo($idCitas) { 

      $query = $this->db->query('SELECT intervaloshorarios.idIntervaloHorario FROM intervaloshorarios INNER JOIN citas ' 
        . 'ON intervaloshorarios.idIntervaloHorario = citas.idIntervaloHorario ' 
        . 'WHERE citas.idCitas = ' . $idCitas . ';'); 

      return $query->result(); 
} 

控制器

$query = $this->Intervalos_Model->get_idintervalo($idCitas); 


     if ($crud->getState() == "add") { 
//It's wroking fine getting this 
      $crud->change_field_type('idCitas', 'hidden', $idCitas); 

foreach ($query as $key) { 
      //Is not working fine (throws array to string conversion) 
      $crud->change_field_type('idIntervaloHorario', 'hidden', $key); 
     } 
+0

我想你可以通過'gettype($ query)'來查看'$ query'變量的類型。 –

回答

1

假設您使用的是CodeIgnitor Framework。您應該寫

foreach ($query as $key) { 
    //Is not working fine (throws array to string conversion) 
    $crud->change_field_type('idIntervaloHorario', 'hidden', $key->idIntervaloHorario); 
} 

因爲$ query將查詢結果集存儲在對象中,$ key是此處的對象。 欲瞭解更多信息,請參閱手冊https://www.codeigniter.com/userguide2/database/results.html

+0

非常感謝!我是新的,我一直在尋找工作答案的日子!你是一個破解! – Jose

0

這是OpenCart? 如果是這樣使用:

return $query->rows; 

得到一個返回行的數組。

+0

謝謝你的回答!我得到了我在尋找感謝@simurgrai – Jose