Laravel - 在另一条路线中使用路线名称

时间:2015-03-13 12:50:51

标签: laravel

我试图在另一条路线中使用命名路线,但它不起作用。

Route::get('/home', ['as' => 'home', 'uses' => 'HomeController@index']);
Route::post(route('home'), '.....');

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用route('home', [], false)。这里的第三个参数false是使用相对路径而不是绝对路径(默认设置为true):

public function route($name, $parameters = array(), $absolute = true);

答案 1 :(得分:1)

Laravel可以使用 RESTful资源控制器为您完成此操作并允许GET和STORE(将您的示例与GET和POST匹配 - > http://laravel.com/docs/5.0/controllers

Route::resource('photo', 'PhotoController', ['only' => ['index', 'store']]);

运行php artisan route:list以查看路线的名称。或一组路线(http://laravel.com/docs/5.0/routing):

Route::group(['namespace' => 'admin'], function()
{
    Route::get('home', ['as' => 'admin.home.index', 'uses' => 'HomeController@index']);
    Route::get('castle', ['as' => 'admin.castle', 'uses' => 'HomeController@castle']);
});