2014-10-30 85 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 
}