簡體   English   中英

動態路線名稱Laravel 5.2

[英]Dynamic Route name Laravel 5.2

我想為我的應用創建動態路由名稱。 這是我的路線文件

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”時,它包括我的團隊名稱。

我該怎么做? 可能嗎?

您可以將設置 也可以使用資源路由。

$routeName = 'team.';

Route::group(['as' => $routeName], function(){
    Route::resource('user', 'UserController');
});

現在您可以像

route('team.user.index');

有關資源路線的更多信息, 請參見https://laravel.com/docs/5.3/controllers#resource-controllers

嘗試這個:

Route::delete('/user/{team}/{id}', array('uses' => 'UserController@deleteTeamMember', 'as' => 'myteam.user.delete'));

現在將路線稱為:

route('myteam.user.delete', [$team, $id]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM