我有两个模型,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参数的变量。
答案 0 :(得分:1)
在发布后10秒钟就意识到,我可以用一种更为幼稚的方式来管理它
Route::get('/{group}/{page}', function (App\Group $group, App\Page $page)
{
return view($page->route_name);
});