2017-03-04 8 views
0
$store_list = array(); 
    $this->db->select('user_time'); 
    $this->db->from('users'); 
    $this->db->where('staff_id',$userid); 
    $result = $this->db->get(); 

    $result= $result->result(); 
    foreach($result as $rows){ 
     array_push($store_list, $rows["user_time"]); 
    } 
    return $store_list; 

ユーザのIDがパラメータとして渡されたときにユーザの時刻を取得し、ユーザの時刻を返した上記のコードを含むモデルに関数を書きましたコントローラ機能に接続します。php-致命的なエラー:型stdClassのオブジェクトを配列として使用できません

しかし、私は次のエラーを取得しています:Fatal Error: Cannot use object of type stdClass as array

このエラーの原因は何?何か案は?

注:sqlクエリは、一致するすべてのレコードを返します。 1つまたは複数のレコードにすることができます。

答えて

1

ここで

$result= $result->result(); 

$result STDクラスのオブジェクトであるため、その要素が->を使用する代わりにアクセスするエラーがあるこの

array_push($store_list, $rows->user_time); 
+0

大丈夫です。私はこれを試してみましょう。 –

+1

ユーザーこの$ result = $ this-> db-> get() - > result_array(); –

+1

このようにforeachループを使う前にチェックを入れるif($ result){foreach .....} –

1

ように使用、それはしない配列オブジェクトである$resultであってもよいです[]のように:

array_push($store_list, $rows->user_time); 

または配列のように使用するために使用する:

$result = $this->db->get()->result_array(); 
関連する問題