目前有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数量的用户了,求解
$users = DB::table('tableA')