首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拉威尔5.5-从两个集合创建一个集合

拉威尔5.5-从两个集合创建一个集合
EN

Stack Overflow用户
提问于 2018-03-27 09:54:34
回答 1查看 187关注 0票数 1

我有两个不同的集合,来自两个雄辩的请求($training_sessions & $users_count)

我的第一个收藏是给我提供培训课程的信息:

代码语言:javascript
复制
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"

我有第二个集合,它给出了将参与会话的用户数量

代码语言:javascript
复制
0 => {#564 ▼
  +"id": 2
  +"userscount": 4
}
1 => {#562 ▼
  +"id": 3
  +"userscount": 1
}

我试图找出哪种方法可以让我创建一个集合,为每个培训班提供我从第二个集合中获得的参与者数量(字段userscount)。

例如,id = 2:

代码语言:javascript
复制
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
}

对于一个没有任何与会者的会议,我会:

代码语言:javascript
复制
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
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-27 10:11:10

首先,您需要更改第二个集合(userscount),以便通过用户ID索引它,并且我们可以通过ID轻松地访问userscount

代码语言:javascript
复制
$usercounts = $usercounts->keyBy('id');

其次,您需要处理第一个集合并添加usercount属性:

代码语言:javascript
复制
$firstCollection->each(function($record) use ($usercounts) {
  if($usercounts->has($record['id'])) {
    $record['usercount'] = $usercounts[$record['id']]['usercount'];
  } else {
    $record['usercount'] = 0;
  }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49509753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档