所以我遇到了这个问题,我需要检索分配给每个事件的所有路由。我有一个事件模型,我将使用查询构建器检索这些事件的集合。
每个事件(只有 5 个)都有一个像这样的锦标赛密钥属性(一个字符串):
$event->tournamentkey
另一方面,我有一组这样的静态路由:
$eventRoutes = [
'events/{tournamentKey}/home',
'events/{tournamentKey}/tournament-info',
'events/{tournamentKey}/teams',
'events/{tournamentKey}/schedule-and-results',
'events/{tournamentKey}/standings',
'events/{tournamentKey}/stats/general',
'events/{tournamentKey}/editions'
];
我想检索一个包含每个事件的 $eventRoutes 的路由数组。 我不知道我是否很好地解释了自己,但最终结果应该是 35 条路线的数组,每个事件 7 条路线(总共 5 个事件)。 现在这就是我的代码的样子,但它只返回一个包含 5 个路由的数组,每个事件只返回第一个路由。
$eventRoutes = [
'events/{tournamentKey}/home',
'events/{tournamentKey}/tournament-info',
'events/{tournamentKey}/teams',
'events/{tournamentKey}/schedule-and-results',
'events/{tournamentKey}/standings',
'events/{tournamentKey}/stats/general',
'events/{tournamentKey}/editions'
];
$eventMenuItems = collect();
$events = Event::whereFederationId($federationId)->get();
$events->each(function ($event) use ($eventRoutes, &$eventMenuItems) {
foreach ($eventRoutes as $route) {
$newRoutes = str_replace('{tournamentKey}', $event->tournamentkey, $route);
$eventMenuItems->push($newRoutes);
return $eventMenuItems;
}
});
当然我做错了什么,但我正在努力找出什么..