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



我有两个模型,GroupPage,一个组可以有很多页面。我正在尝试基于这些模型动态创建路由,以便自动创建/group-id/page-id 类型的结构。

这是我到目前为止得到的:

foreach(AppGroup::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 参数的变量。

发布 10 秒后意识到我可以以更 laravel-y 的方式管理它

Route::get('/{group}/{page}', function (AppGroup $group, AppPage $page)
{
    return view($page->route_name);
});

最新更新