Laravel:查询生成器加入多表

时间:2016-06-18 08:47:04

标签: php mysql laravel laravel-5.1

我有3张桌子:

users_tb 列:

user_id (pk)
user_name
带有列的

device_tb

user_id (fk)
device_id (pk)
device_name

part_tb 列:

deive_id (fk)
part_id (pk)
part_name
user_buy (fk)

关系:

device_tb 一对多 part_tb (1个设备可以创建多个部分)

user_tb 一对多 device_tb (1人可以创建多台设备)

user_tb 一对多 part_tb (1人可以购买多台设备)

我如何计算每位用户使用的所有设备的部分总数?

示例:设备:PC1 - 由部分创建:鼠标,键盘,cpu - 用户:Allen

结果:用户 Allen 使用 3 部分

我很抱歉我的英语:(

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下查询

  $val = DB::table('users_tb')->select(array("users_tb.user_name", DB::raw('count(part_tb.part_id) as count_part')))->leftJoin('device_tb', 'users_tb.user_id', '=', 'device_tb.user_id')->leftJoin('part_tb', 'device_tb.device_id', '=', 'part_tb.deive_id')->get();

此代码将帮助您..

答案 1 :(得分:0)

你试过这个吗?

tblEmployee

如果可能,您可以发送sqlfiffle链接。