2016-11-15 9 views
1

Ich bin neu bei Laravel, jetzt mit v5.3. Ist es möglich, die genannten Methoden zu ändern, wenn mit route::resourceLaravel 5.3 Ressource: Aktion ändern

Route::resource('user','UserController'); 

+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+ 
| Domain | Method | URI        | Name   | Action               | Middleware | 
+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+ 
|  | GET|HEAD | GameServiceAPI/user    | user.index | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | POST  | GameServiceAPI/user    | user.store | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | GET|HEAD | GameServiceAPI/user/create  | user.test | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | DELETE | GameServiceAPI/user/{user}  | user.destroy | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | PUT|PATCH | GameServiceAPI/user/{user}  | user.update | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | GET|HEAD | GameServiceAPI/user/{user}  | user.show | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | GET|HEAD | GameServiceAPI/user/{user}/edit | user.edit | App\Http\Controllers\Interfaces\[email protected] | web   | 
|  | GET|HEAD | api/user      |    | Closure               | api,auth:api | 
+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+ 

Ich möchte meine eigenen Methoden aufrufen, ohne den Standard (Index, show, schaffen, ...)

Auch was die ‚Name "Spalte beziehen sich auf, ich habe festgestellt, dass ich es mit einigen Optionen ändern kann, die Ressource hinzugefügt werden kann, aber ich weiß nicht, seine Prompt.

Antwort

0

Sie können diese Methoden nicht ändern, sollten Sie create your ownget, post, put etc Routen statt mit resource Route.

Die name Spalte ist eine route name. Sie können es für jede Route mit as gesetzt:

Route::get('some-path', ['as' => 'route-name', 'uses' => '[email protected]']) 

Oder mit ->name():

Route::get('some-path', `[email protected]`)->name('route-name'); 
0

Der Sinn der Verwendung von Ressourcen Controllers ist, dass es die grundlegenden CRUD Methoden zur Verfügung stellt. Wenn Sie Ihre eigenen Routen definieren möchten, müssen Sie Route::get(), Route::post(), Route::any() usw. verwenden. Es ist nicht möglich die verknüpften Methoden eines Ressourcencontrollers zu ändern.

0

Sie nur Ihre eigenen Strecken erstellen wie unten:

Verfügbare Router Methoden

Route::get($uri, $callback); 
Route::post($uri, $callback); 
Route::put($uri, $callback); 
Route::patch($uri, $callback); 
Route::delete($uri, $callback); 
Route::options($uri, $callback); 

Z. B:

Route::get('uri-path', [ 
    'as' => 'route-name', 
    'uses' => '[email protected]' 
]); 

Docs

0

Sie können diese Methoden nicht ändern, aber Sie können die zu ändernden deaktivieren und stattdessen Ihre eigenen hinzufügen:

Route::resource('user', 'UserController', ['except' => ['edit']]); 

Route::get('user/{id}/customEdit', '[email protected]');