我在Laravel应用程序中使用扩展laravel-menu。 此应用程序包含多个项目,每个项目都附有多个位置。
现在我想定义一个侧面菜单,我可以在其中管理位置。 项目的网址是
project/1
项目的地点页面的网址是
project/1/locations
如何在routes.php中设置此侧边菜单?
我的routes.php代码:
Route::resource('project', 'ProjectsController'));
Route::resource('project.locations', 'LocationsController');
Menu::make('sidemenu-project', function($menu) {
$menu->add('Locaties', array('route' => 'project.locations.index','{project?}'))->data('id',1); // this is not working
});
这是输出url / project /%7Bproject%7D / locations
答案 0 :(得分:0)
转到终端(命令提示符)并运行以下命令:
> php artisan routes
然后,您将看到所有声明的路线及其URL
和相应的路线名称以及method name
。
答案 1 :(得分:0)
我对Laravel很新,但文档的Routes页面提到你用这样的参数创建一个控制器:
Route::get('user/{id}', function($id) { ... });
因此可以将您的路线定义为
Route::get('project/{id}/locations', function($id) { ... });
答案 2 :(得分:0)
我认为由于错误配置路由而导致此问题。要实现所需的路径结构,您应将project/1/locations
路径定义置于之上。请将您的routes.php视为:
Route::resource('project/{project}/locations', ['as'=>'project.locations', 'uses'=> 'LocationsController']);
Route::resource('project', 'ProjectsController'));