2014-09-23 69 views
0

我想弄清楚是否有一種方法將URL參數添加到Route :: controller調用。Laravel路線::控制器與額外的參數

我有什麼,此刻我的控制面板:

Route::group(
    [ 
     'prefix' => 'admin', 
     'namespace' => 'Admin' 
    ], 
    function() { 

     Route::group(
      [ 
       'prefix' => '', 
       'before' => 'auth.admin' 
      ], 
      function() { 

       Route::controller('page', 'PageController'); 

       Route::controller('article', 'ArticleController'); 

      } 

     ); 

     Route::controller('/', 'LoginController'); 

    } 
); 

現在 - 每個控制器將有柱/ getEdit行動,這將需要的URL id參數在傳遞過簡單的格式/admin/page/edit/{id}

我的問題是 - 有沒有辦法可能將一些參數添加到Route :: controller方法,還是我必須使用Route::get/Route::post方法來完成這些操作?

我知道我可以通過增加兩個額外例getpost給定的控制器調用上面做到這一點:

Route::group(
    [ 
     'prefix' => 'admin', 
     'namespace' => 'Admin' 
    ], 
    function() { 

     Route::group(
      [ 
       'prefix' => '', 
       'before' => 'auth.admin' 
      ], 
      function() { 

       Route::get('page/edit/{id}', '[email protected]'); 
       Route::post('page/edit/{id}', '[email protected]'); 

       Route::controller('page', 'PageController'); 

       Route::controller('article', 'ArticleController'); 

      } 

     ); 

     Route::controller('/', 'LoginController'); 

    } 
); 

但也許還有更好的方法嗎?


回答

1

您可以使用Route::resource

Route::resource('resource', 'ResourceController'); 

這將註冊以下途徑:

GET  /resource     index resource.index 
GET  /resource/create   create resource.create 
POST  /resource     store resource.store 
GET  /resource/{resource}  show resource.show 
GET  /resource/{resource}/edit edit resource.edit 
PUT/PATCH /resource/{resource}  update resource.update 
DELETE /resource/{resource}  destroy resource.destroy 

您可以onlyexcept一起用它來選擇要包括哪些途徑(或排除):

Route::resource('resource', 'ResourceController', ['only' => ['index', 'show', 'update', 'destroy']]); 

瞭解更多關於Laravel documentation中寧靜資源控制器的信息。

這個職位也可能是有趣:Laravel 4 - Route::resource vs Route::controller. Which to use?

+0

所以我拿 - 'resource'將被用來傳遞給定記錄的'id'。謝謝。 – 2014-09-23 09:24:17

+0

是的,'{resource}'是記錄的標識符並傳遞給控制器​​。 – 2014-09-23 09:28:26