【发布时间】:2015-04-16 16:24:49
【问题描述】:
我需要加入两个表,同时对第二个表进行求和和计数。 我已经这样做了,但只有当行存在于第二个表中时。
如果那里什么都没有,我希望连接返回零,而不是停止显示整行。
我确定我需要同时在 uid = uid 和 gid = gid 上左加入,但不知道如何??
这是我的工作,但过滤了太多代码:
$result = Users_team::where('users_teams.gid', '=', $gid)
->leftjoin('events_users', 'users_teams.uid', '=', 'events_users.uid')
->where('events_users.gid', '=', $gid)
->groupBy('users_teams.uid')
->addSelect( array(
'*',
DB::raw('count(*) as apps'),
DB::raw( 'SUM(goals) AS goals' ),
DB::raw( 'SUM(assists) AS assists' ),
DB::raw( 'SUM(award) AS awards' ),
));
【问题讨论】:
-
除了向我们展示您的 SQL 之外,您能否偶然向我们展示这两个表中的数据示例,以及您希望使用这两个表中的相同数据时的结果如何包括表?很难弄清楚你到底想做什么。
标签: laravel join laravel-4 eloquent left-join