2014-10-30 81 views
0

我的模型返回數組與「用戶ID」,我想爲每個用戶ID運行循環,但我得到錯誤「未定義變量:用戶」「爲foreach提供的無效參數( )「。你能否檢查我的控制器代碼有什麼問題。Codeigniter無法運行循環

我的型號:

public function get_user_id($post_id){ 

    $this->db->select('user_id'); 
    $this->db->from('comments'); 
    $this->db->where('post_id', $post_id); 

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

if ($query && $query->num_rows() >= 1){ 

return $query->result(); 
    }  
    else { 
    return false; 
    } 

    } 

我的控制器:

$this->model_a->get_user_id($post_id); 
$data["users"] = $this->model_a->get_user_id($post_id);   

foreach($users as $user){ 

$user_id = $user['user_id']; 
//loop code 
} 

回答

2

嘗試

$數據[ 「用戶」] = $這個 - > model_a-> get_user_id( $ POST_ID);

foreach($data["users"] as $user){

$user_id = $user['user_id']; //loop code

}

沒有名爲$用戶

+0

致命錯誤

在模型

:無法使用類型stdClass的的對象作爲陣列 – EducateYourself 2014-10-30 09:51:50

+3

@EducateYourself使用result_array()insted的的結果() – Shin 2014-10-30 09:52:32

+0

感謝Roni和Shijin。我已經將你的答案和現在的作品結合起來。 – EducateYourself 2014-10-30 10:02:07

1
$this->model_a->get_user_id($post_id); 
$data["users"] = $users = $this->model_a->get_user_id($post_id);   

foreach($users as $user){ 

$user_id = $user['user_id']; 
//loop code 
} 

$用戶變量必須定義。

1

嘗試 -

if ($query && $query->num_rows() >= 1){ 
    return $query->result_array(); 
} else { 
    return false; 
} 

在控制器 - -

$data["users"] = $this->model_a->get_user_id($post_id); 

foreach($users as $user){ 
    $user_id = $user['user_id']; 
    //loop code 
}