我有来自2个雄辩要求的两个不同的集合($ training_sessions& $ users_count)
我的第一个系列是为我提供培训课程的信息:
2 => {#464 ▼
+"date": "2018-02-24"
+"id": 4
+"debutsession": "13:30:00"
+"finsession": "17:00:00"
+"creneau": "13:30:00 - 17:00:00"
+"created_at": null
+"updated_at": null
+"nom": "MYNAME"
+"prenom": "MYSURNAME"
+"salle": "ROOM NAME "
+"sessions": "SESSION NAME"
我有第二个收藏集,它给了我一些将参加会议的用户
0 => {#564 ▼
+"id": 2
+"userscount": 4
}
1 => {#562 ▼
+"id": 3
+"userscount": 1
}
我试图找出哪种方法可以让我创建一个单独的集合,这将为每个培训课程提供我从第二个集合中获得的与会者人数(字段userscount)
例如id = 2:
2 => {#464 ▼
+"date": "2018-02-24"
+"id": 2
+"debutsession": "13:30:00"
+"finsession": "17:00:00"
+"creneau": "13:30:00 - 17:00:00"
+"created_at": null
+"updated_at": null
+"nom": "MYNAME"
+"prenom": "MYSURNAME"
+"salle": "ROOM NAME "
+"sessions": "SESSION NAME"
+"userscount": 1
}
对于没有任何与会者的会议,我会:
2 => {#464 ▼
+"date": "2018-02-24"
+"id": 2
+"debutsession": "13:30:00"
+"finsession": "17:00:00"
+"creneau": "13:30:00 - 17:00:00"
+"created_at": null
+"updated_at": null
+"nom": "MYNAME"
+"prenom": "MYSURNAME"
+"salle": "ROOM NAME "
+"sessions": "SESSION NAME"
+"userscount": 0
}
答案 0 :(得分:1)
首先,您需要更改第二个集合(用户数量),以便按用户ID编制索引,然后我们可以通过 ID userscount >:
$usercounts = $usercounts->keyBy('id');
其次,您需要处理第一个集合并添加 usercount 属性:
$firstCollection->each(function($record) use ($usercounts) {
if($usercounts->has($record['id'])) {
$record['usercount'] = $usercounts[$record['id']]['usercount'];
} else {
$record['usercount'] = 0;
}
});