Codeigniter表连接和计数,如何获取计数0返回?

时间:2012-08-03 09:36:16

标签: codeigniter count

我有两张桌子。

表A(id,title,department)

       1,  title 1 ,  1
       2,  title 2 ,  1
       3,  title 3 ,  2

表B(uid,mid,is_active)

       1, 1, 1
       2, 1, 1
       3, 3, 1

这是我的查询声明:

          $this->db->select("  id, title ")  
                   ->select('   count(  B.uid ) AS B_count   ')
                   //->select('   IFNULL( COUNT( `B.uid`), 0) AS B_count ', false)
                   //->select( " IFNULL( COUNT(DISTINCT B.uid) AS B_count , 0 )" )
                   ->join( 'B', '   B.mid = A.id   ' ,  'left')
                   ->where('department', 1 )
                   ->where('B.is_active' , 1 )
                   ->limit(  $limit, $offset );     

    $this->db->group_by( array("B.mid") );         

    return $this->get_all();

我希望得到这样的结果

id,title,B_count

    1, title 1, 2
    2, title 2, 0

但是我只能得到第一张唱片而没有第二张唱片。 我已经尝试了IFNULL功能并离开了连接表。 真的不知道如何解决这个问题。 有谁知道解决方案或问题是什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用get('A')代替get_all()