Codeigniter查询count()连接三个表的总注释

时间:2018-09-13 03:33:45

标签: php mysql codeigniter

我正在尝试创建一个查询,以从我的博客表中获取单个博客帖子,同时从该用户的用户表中获取该用户的信息,使用findByDateAndCompanyNameAndEmployeeId可以,但是现在我想计算该博客帖子的总评论总数,以便查询Join

为三个表

但是下面的代码显示具有相同内容的3个博客条目,以及将COUNT(*)用作注释表总数的位置,任何建议都很棒!

blog, users and comments

2 个答案:

答案 0 :(得分:1)

尝试使用它,您可以根据需要更改查询:-

  $usr_flds = "count(u.ID) as count_rows";
  $this->db->select('usr_flds');
  $this->db->where('u.ID', $id)
 ->from('gb_blod as u')
 ->join('gb_users as a', 'u.user_email = a.email', 'LEFT')
 ->join('gb_comments as b', 'u.ID = b.journal_id', 'LEFT');
   $result = $this->db->get();
   return $res->num_rows();

答案 1 :(得分:1)

计算评论ID,并按博客ID对查询进行分组。

public function get_entry(){

        $id = $this->input->post('ID', true);


        $this->db->select('u.*, a.*, count(b.ID) as total');
        $this->db->where('u.ID', $id)
         ->from('gb_blod as u')
         ->join('gb_users as a', 'u.user_email = a.email', 'LEFT')
         ->join('gb_comments as b', 'u.ID = b.journal_id', 'LEFT')
         ->group_by('u.ID');
         $result = $this->db->get();


            if($result->num_rows() > 0){

            return $result->result_array();


            }else{

                return false;
            }

    }