让我们考虑两个表,"用户"和"数据"
"用户"表格数据(总行数 - > 2) - >
user_id name email
1 Test test@test.com
2 Try try@try.com
"数据"表格数据(总行数 - > 1) - >
data_id user_id json_field
1 1 {}
使用Laravel Join
DB::tabe("users")->join("data" , "users.user_id" , "=" , "data.user_id")->get();
about查询只返回一行,即
user_id name email data_id json_fied
1 Test test@test.com 1 {}
但是,我想得到两行的结果,如下所示:
user_id name email data_id json_fied
1 Test test@test.com 1 {}
2 Try try@try.com NULL NULL
有什么想法吗?
答案 0 :(得分:3)
而不是leftJoin
使用join
。
<强>解释强>
INNER JOIN
为leftJoin
,它会选择两个表中具有匹配值的记录。
LEFT JOIN
为users
,它返回左表(在您的情况下为data
)中的所有记录,以及来自右表(NULL
表的匹配记录)。如果没有匹配,结果是USBdevice.open()
来自右侧。