我正在尝试从数据库中查询两个值,有两个不同的ID,我需要在一个数组上获取所有结果。这是我的控制器的一部分。
function account()
{
$user_id = $this->session->userdata('user_id');
$this->load->model("Site_model");
$q = $this->Site_model->get_all_notify($user_id);
}
这是模型:
function get_user_data_by_id($id) {
$this->db->where("id",$id);
$q=$this->db->get("users");
return $q->result();
}
function get_all_notify($user_id) {
$this->db->where("wanted_id",$user_id);
$this->db->where("requests_id",1);
$q=$this->db->get("intrested");
foreach($q->result() as $row) {
$user=$this->get_user_data_by_id($row->users_id);
}
return $user;
}
但是当我从控制器print_r $ q时我只得到1行......但是当我print_r $ user时我得到了所有结果!即使有了foreach,似乎没有任何作用!
答案 0 :(得分:4)
您需要创建数组并存储用户数据,在当前代码中,来自foreach的最后一次迭代数据将返回
$user=array();
foreach($q->result() as $row)
{
$user[]=$this->get_user_data_by_id($row->users_id);
}
return $user;