gpt4 book ai didi

mysql - 将行分组到其相关项目中。 [拉维尔]

转载 作者:行者123 更新时间:2023-11-29 19:21:49 25 4
gpt4 key购买 nike

基本上,我想将所有相关行分组到其“主”行。 (抱歉,如果粗略地解释一下,我对 MySQL 很不了解)

我有这三张表

用户

| id | user |
|----|------|
| 1 | John |
| 2 | Jane |

文件

| id |    name  |
|----|----------|
| 1 | Recipes |
| 2 | Calendar |
| 3 | Contacts |

文件用户

| user_id | file_id |
|---------|---------|
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |

我需要获得这个结果:

{
{
'user': 'John',
'files': {
'Recipes',
'Calendar'
}
},{
'user': 'Jane',
'files': {
'Contacts'
}
}
}

我曾经做过这样的事情

table('users')
->join('file_user', 'user.id', '=', 'file_user.user_id')
->join('files', 'file_user', '=', 'files.id')

它不起作用,我得到类似的东西(只需选择文件)

{
{
'Recipes'
},
{
'Calendar'
},
{
'Contacts'
}
}

希望你能理解我并能给我提示。

最佳答案

好吧,假设您正在使用 Eloquent 关系,并且 json 中的 files 实际上是一个数组:

$users = User::with('files')->get();

$data = $users->map(function ($user) {
return [
'user' => $user->user,
'files' => $user->files->pluck('name')
];
});

关于mysql - 将行分组到其相关项目中。 [拉维尔],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com