从Laravel中的模型动态创建路线

时间:2019-06-21 17:39:14

标签: php laravel routing

我有两个模型,GroupPage,其中一组可以有很多页面。我正在尝试根据这些模型动态创建路由,以便自动创建一种/ 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 个答案:

答案 0 :(得分:1)

在发布后10秒钟就意识到,我可以用一种更为幼稚的方式来管理它

Route::get('/{group}/{page}', function (App\Group $group, App\Page $page)
{
    return view($page->route_name);
});