Laravel 如何创建包含潜在用户的子类别数组?

Laravel 如何创建包含潜在用户的子类别数组?,laravel,eloquent,Laravel,Eloquent,我有3个表:用户、类别和类别(用户) users table - id - name - email - etc... demo2有点像一个子类别 我需要的是创建一个数组,其中(demo2-子类别)作为键,潜在用户作为相应(demo2-子类别)下的值,这样我就可以遍历每个类别并获取其用户 有人知道如何使用laravel实现这一点吗 我试过以下方法 $category=category::where('id',12)->first(); $users=$category->users->sort

我有3个表:
用户
类别
类别(用户
)

users table
- id
- name
- email
- etc...
demo2
有点像一个子类别

我需要的是创建一个数组,其中(demo2-子类别)作为键,潜在用户作为相应(demo2-子类别)下的值,这样我就可以遍历每个类别并获取其用户

有人知道如何使用laravel实现这一点吗

我试过以下方法

$category=category::where('id',12)->first();
$users=$category->users->sortBy('pivot.demo2');
$users_by_category=[];
$the_users=[];
foreach($users???[]作为$k=>$v){
如果($k==0或$v->pivot->demo2==$users[$k-1]->pivot->demo2){
$the_users[]=$v;
$users_by_category[$v->pivot->demo2]=$the_用户;
}elseif($v->pivot->demo2!=$users[$k-1]->pivot->demo2){
$users_by_category[$v->pivot->demo2]=$the_用户;
}
} 

多亏了集合,我想你可以不用循环就做到这一点

$category=category::with('users')->find(12);
$users\u by_category=$category->users->groupBy('pivot.demo2')->all();
categories table
- id
- name
- type
- etc...
categories_users table
- id
- categories_id
- users_id
- demo1
- demo2
- demo3