laravel5 关联查询统计问题

目前有A和B两个表,结构都比较类似。


A表格

ID name state
1 张三 0
2 张三2 1

B表格

ID content UID state
1 内容1 1 1
2 内容2 2 0

现在通过join关联查询之后
查询语句如下:

           $users = DB::table('tableA')
                 ->leftjoin('tableB', 'tableA.id', '=', 'tableB.id')
                 ->select(DB::raw('count(*) as user_count, state'))
                 ->where('status', '<>', 1)
                 ->groupBy('tableA.ID')
                 ->get();

查询结果出来之后,已经可以分别查出每个用户的对应B表格内容数量。

但是有个新的问题:
如何分别查询出每个用户state=1和state=0的内容数量?
我加了where('tableB.state',0)的限定条件后,左关联就失效了,不显示0数量的用户了,求解

阅读 1.9k
1 个回答
新手上路,请多包涵

$users = DB::table('tableA')

             ->leftjoin('tableB', 'tableA.id', '=', 'tableB.id')
             ->select(DB::raw('count(*) as user_count, state'))
             ->where('status=1 and status=0')
             ->groupBy('tableA.ID')
             ->get();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题