Laravel:在routes.php中获取当前的参数

时间:2014-10-09 18:18:42

标签: php laravel navigation

我在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

3 个答案:

答案 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'));