Php 如何从codeigniter中的三个表中检索数据以获得完整视图

Php 如何从codeigniter中的三个表中检索数据以获得完整视图,php,mysql,codeigniter,Php,Mysql,Codeigniter,我是codeigniter和php的新手。我的DB中有两个表我需要做的是从表user\u details、user\u comments中检索数据 用户详细信息的id与用户评论中的id相同 我想在我的视图上显示一些输出,因为没有这样的条件,我需要所有用户列表,包括用户详细信息中的名字、姓氏和通信id中的用户评论数 public function user_details(){ $query=$this->db->select('id, f_name,

我是codeigniter和php的新手。我的DB中有两个表我需要做的是从表user\u details、user\u comments中检索数据

用户详细信息的id与用户评论中的id相同

我想在我的视图上显示一些输出,因为没有这样的条件,我需要所有用户列表,包括用户详细信息中的名字、姓氏和通信id中的用户评论数

        public function user_details(){

        $query=$this->db->select('id, f_name, l_name')
                ->from('user_details');

            $array=array();

            foreach($query->result() as $row)
                 {
                    $id=$row->id;
                    $array['f_name']=$row->f_name;
                    $array['l_name']=$row->l_name;
                    $query1=$this->db->select('comments')
                    ->from('user_comments')
                    ->where('id_user',$id);
                    foreach($query1->result() as $row1){

                            $array['comments'] = COUNT($row->comments;


                    }


                 }


            return $array;


    }

我需要帮助请帮助我…

您不想运行N+1查询。您可以通过查询一次性获得所有必要的数据

选择u.id、u.f\u名称、u.l\u名称、计数(c.id\u用户)注释数
从用户\详细信息u左加入用户\注释c
ON u.id=c.id\u用户
按u.id、u.f_名称、u.l_名称分组
样本输出:

| id | f_name | l_name | comments_count | |----|--------|--------|----------------| | 1 | John | Doe | 4 | | 2 | Jane | Doe | 2 |
谢谢您的回复,先生..我收到了错误“字段列表中的'id'列不明确”很抱歉再次激怒您,但我使用的名称**php echo$user['l_name'];**评论计数工作正常。谢谢