让我们考虑两个表,“用户”和“数据”
“用户”表数据(总行数-> 2)->
user_id name email
1 Test test@test.com
2 Try try@try.com
Run Code Online (Sandbox Code Playgroud)
“data”表数据(总行数->1)->
data_id user_id json_field
1 1 {}
Run Code Online (Sandbox Code Playgroud)
使用 Laravel 连接
DB::tabe("users")->join("data" , "users.user_id" , "=" , "data.user_id")->get();
Run Code Online (Sandbox Code Playgroud)
about 查询只返回一行,即
user_id name email data_id json_fied
1 Test test@test.com 1 {}
Run Code Online (Sandbox Code Playgroud)
但是,我想得到如下两行的结果:
user_id name email data_id json_fied
1 Test test@test.com 1 {}
2 Try try@try.com NULL NULL
Run Code Online (Sandbox Code Playgroud)
任何的想法?
小智 7
而不是join使用leftJoin.
解释:
的join是INNER JOIN,它选择具有两个表中的匹配值的记录。
的leftJoin是LEFT JOIN,它返回左表中的所有记录(在你的情况下users),并从右侧表(匹配的记录data表)。NULL如果没有匹配项,则结果来自右侧。
| 归档时间: |
|
| 查看次数: |
3080 次 |
| 最近记录: |