Laravel:选择团队并统计每个团队成员

时间:2016-08-09 06:24:10

标签: laravel eloquent laravel-5.2

我有两张桌子:'球队'和' team_members',

Table : 'teams'
 __________________
| id |   name     |
|-----------------|
| 1 |    t1       |
| 2 |    t2       |
| 3 |    t3       |
|-----------------|

table : team_members
 _______________________________
| id |     team_id  |  user_id  |
|-------------------------------|
|  1 |      1       |    2      |
|  2 |      1       |    2      |
|  3 |      2       |    1      |
|  4 |      2       |    1      |
|  5 |      2       |    1      |
|-------------------|------------

我如何让所有团队和每个团队的成员数量如下:

团队t1有2名成员。

团队t2有3名成员。

我尝试的是(不工作,只有一个团队成员数量):

SELECT teams.name, count(O.team_id) 
as total FROM teams 
LEFT JOIN 
team_members as O 
ON 
O.team_id = teams.id

1 个答案:

答案 0 :(得分:1)

使用group by it解决了。 这是查询。

SELECT teams.name, COUNT(o.team_id) 
AS total FROM teams 
LEFT JOIN 
team_members AS o
ON 
o.team_id = teams.id
GROUP BY o.team_id