将集合中的每个元素分配给数组中的多个元素

时间:2021-04-12 11:51:56

标签: php laravel

所以我遇到了这个问题,我需要检索分配给每个事件的所有路由。我有一个事件模型,我将使用查询构建器检索这些事件的集合。

每个事件(只有 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;
            }
        });

当然我做错了什么,但我正在努力找出什么..

0 个答案:

没有答案
相关问题