【发布时间】:2022-01-05 17:45:05
【问题描述】:
我在 Laravel 中遇到了一点问题。我正在使用一个集合,在其中添加已注册到特定活动的新用户。它们按以下方式格式化
{
[
"ID" => "1",
"Email" => "test@example.com",
"Registrations" => [
"Sports" => [
[
"id" => "457",
"title" => "Football"
],
[
"id" => "459",
"title" => "Rugby"
]
]
]
],
[
"ID" => "2",
"Email" => "test2@example.com",
"Registrations" => [
"Sports" => [
[
"id" => "457",
"title" => "Football"
],
[
"id" => "458",
"title" => "Badminton"
]
]
]
]
}
我遇到的问题是,在尝试添加新的 Sports id 时,我不知道该怎么做。我最初考虑的方法是检查该特定电子邮件是否已经注册,然后替换集合中的数据。但是,每次有一个现有条目时,我都会遇到一个问题,整个数据结构都会被替换。有什么有用的建议吗?以下是我已有的参考资料
return $user_courses->where('ContactID' , $user['Registration']['Link']['Contact']['ContactID'])
->map(function($key) use ($user, $sportService){
$course_id = $sportService->validateSport($user['Registration']['Link']['Activity']['ContentUri']);
if($course_id){
$key['Registrations']['Sports'][] = [
'id' => $course_id,
'title' => $user['Registration']['Link']['Activity']['Title']
];
return $key;
}
return $key;
});
【问题讨论】:
标签: laravel collections