使用codeigniter创建多级数组

时间:2014-09-03 09:05:34

标签: mysql codeigniter-2

我有两个表,其结构为

表Circle_member

->user_id
->circle_id

表用户

->user_id
->username

我想要的是 我首先想要将circle id发送到circle_model以获取数组中所有用户的id,直到这很好。但现在通过使用相同的模型,我可以生成包含用户信息的多级数组,如:

MODEL

public function get_circle_members($circle_id){
        $result = $this->db->select('*');
        $result = $this->db->from(TBL_USER_PROFILE. ' as p');

        $result = $this->db->join(TBL_MEMBER. ' as m', 'p.user_id = m.user_id');
       // $result = $this->db->where('m.circle_id', $circle_id);
        //$result = $this->db->where('m.user_id', $circle_id);            
        $result = $this->db->get();
        return $result;


["id":1
    {
      "username":"yubraj",
      "user_id":1,
    }
]

1 个答案:

答案 0 :(得分:1)

理想情况下,您不需要在这种情况下拥有多级数组,因为您将拥有一个级别的数据,因为一个用户ID将仅链接到一个用户帐户。

[
    {
     "id":1,
      "username":"yubraj",
      "user_id":1,
    },
    {
     "id":2,
      "username":"yubraj",
      "user_id":1,
    }
]

你的模型功能将是这样的。

public function get_circle_members($circle_id){
    $result = $this->db->select('*');
    $result = $this->db->from(TBL_USER_PROFILE. ' as p');
    $result = $this->db->join(TBL_MEMBER. ' as m', 'p.user_id = m.user_id');
    $query = $this->db->get();
    return $query->result();
}