Динамическое создание маршрутов из моделей в Laravel - PullRequest
2 голосов
/ 21 июня 2019

У меня есть две модели, Group и Page, где у группы может быть много страниц. Я пытаюсь динамически создавать маршруты на основе этих моделей, чтобы автоматически создавалась структура вида / group-id / page-id.

Вот что у меня так далеко:

foreach(App\Group::all() as $group)
{
    Route::prefix($group->id)->group(function ()
    {
        foreach($group->pages as $page)
        {
            Route::get($page, function () {
                return view($page->route_name);
            });
        }
    });
}

Возникающая проблема заключается в том, что маршруты определены внутри анонимных функций, переменные $group и $page для них недоступны. Передача этих переменных в функцию также не работает, так как она принимает переменную из параметра URL.

1 Ответ

1 голос
/ 21 июня 2019

Через 10 секунд после публикации я понял, что могу справиться с этим гораздо более лаконичным образом

Route::get('/{group}/{page}', function (App\Group $group, App\Page $page)
{
    return view($page->route_name);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...