我想为我的应用创建动态路线名称。这是我的路线文件
Route::group(['prefix' => '{team}/dashboard', 'middleware' => 'isMember'], function() {
Route::get('/user', array('uses' => 'UserController@index', 'as' => 'user.index'));
Route::get('/user/edit/{id}', array('uses' => 'UserController@edit', 'as' => 'user.edit'));
Route::patch('/user/{id}', array('uses' => 'UserController@update', 'as' => 'user.update'));
Route::delete('/user/{id}', array('uses' => 'UserController@destroy', 'as' => 'user.delete'));
如果我必须像这样定义路线,那就不简单了
'route' => ['user.delete', $team, $user->id]
或
public function destroy($team,$id) {
// do something
return redirect()->route('user.index', $team);
}
我想生成路线名称,例如" $ myteam.user.delete"或更简单的东西,比如我定义" user.delete"它包括我的团队名称。
我怎么能这样做?有可能吗?
答案 0 :(得分:2)
您可以将设置为来实现。使用资源路线也很方便。
$routeName = 'team.';
Route::group(['as' => $routeName], function(){
Route::resource('user', 'UserController');
});
现在你可以像
一样打电话route('team.user.index');
有关资源路线的更多信息https://laravel.com/docs/5.3/controllers#resource-controllers
答案 1 :(得分:0)
试试这个:
Route::delete('/user/{team}/{id}', array('uses' => 'UserController@deleteTeamMember', 'as' => 'myteam.user.delete'));
现在将路线称为:
route('myteam.user.delete', [$team, $id]);