从Model到Controller codeigniter返回数组

时间:2013-12-17 19:53:01

标签: php mysql arrays codeigniter return

我正在尝试从数据库中查询两个值,有两个不同的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,似乎没有任何作用!

1 个答案:

答案 0 :(得分:4)

您需要创建数组并存储用户数据,在当前代码中,来自foreach的最后一次迭代数据将返回

$user=array();
foreach($q->result() as $row)
{
        $user[]=$this->get_user_data_by_id($row->users_id);
}
return $user;