2017-01-31 3 views
0

Ich möchte einen dynamischen Routennamen für meine App erstellen. Hier ist meine Route DateiName der dynamischen Route Laravel 5.2

Route::group(['prefix' => '{team}/dashboard', 'middleware' => 'isMember'], function() { 

Route::get('/user', array('uses' => '[email protected]', 'as' => 'user.index')); 
Route::get('/user/edit/{id}', array('uses' => '[email protected]', 'as' => 'user.edit')); 
Route::patch('/user/{id}', array('uses' => '[email protected]', 'as' => 'user.update')); 
Route::delete('/user/{id}', array('uses' => '[email protected]', 'as' => 'user.delete')); 

es nicht einfach ist, wenn ich Route zu definieren, wie diese

'route' => ['user.delete', $team, $user->id] 

oder

public function destroy($team,$id) { 
    // do something 
    return redirect()->route('user.index', $team); 
} 

Ich möchte Routennamen erzeugen, wie „$ myteam.user .delete "oder etwas einfacheres, wenn ich" user.delete "definiere, enthält es meinen Teamnamen.

Wie kann ich das tun? ist es möglich?

Antwort

0

versuchen Sie dies:

Route::delete('/user/{team}/{id}', array('uses' => '[email protected]', 'as' => 'myteam.user.delete')); 

nun die Route nennen wie:

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

Ich denke, es wie meine vorherigen Code. als Anmerkung: myteam ist eine Variable aus dem Präfix. – dionajie

2

Sie das tun könnte durch als Einstellung. Auch die Verwendung von Ressourcenrouten ist praktisch.

$routeName = 'team.'; 

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

Jetzt können Sie wie

nennen
route('team.user.index'); 

Mehr auf Ressourcen Routen hier https://laravel.com/docs/5.3/controllers#resource-controllers