2017-03-14 10 views
0

私はいくつかのルートが繰り返しているように見えます。laravelワイルドカードのルートとコントローラーを適用

// Point 
    Route::get('admincp/point', '[email protected]'); 
    Route::post('admincp/point/store', '[email protected]'); 
    Route::get('admincp/point/{id}/edit', '[email protected]'); 
    Route::patch('admincp/point/{id}/update', '[email protected]'); 
    Route::get('admincp/point/{id}/destroy', '[email protected]'); 

// Faq 
    Route::get('admincp/faq', '[email protected]'); 
    Route::post('admincp/faq/store', '[email protected]'); 
    Route::get('admincp/faq/{id}/edit', '[email protected]'); 
    Route::patch('admincp/faq/{id}/update', '[email protected]'); 
    Route::get('admincp/faq/{id}/destroy', '[email protected]'); 

// Slider 
    Route::get('admincp/slider', '[email protected]'); 
    Route::post('admincp/slider/store', '[email protected]'); 
    Route::get('admincp/slider/{id}/edit', '[email protected]'); 
    Route::patch('admincp/slider/{id}/update', '[email protected]'); 
    Route::get('admincp/slider/{id}/destroy', '[email protected]'); 

私は自分自身を繰り返したくありません。このようなことをララベルですることはできますか?

function generateRoute($name) { 
     Route::get("admincp/$name", "{$name}[email protected]"); 
     Route::post("admincp/$name/store", "{$name}[email protected]"); 
     Route::get("admincp/$name/{id}/edit", "{$name}[email protected]"); 
     Route::patch("admincp/$name/{id}/update", "{$name}[email protected]"); 
     Route::get("admincp/$name/{id}/destroy", "{$name}[email protected]"); 
} 

答えて

1

使用リソースルート:

Route::group(['prefix' => 'admincp'], function() { 
     Route::resource('point', 'PointController'); 
     Route::resource('faq', 'FaqController'); 
     Route::resource('slider', 'SliderController'); 
    } 
+0

はあなたに感謝し、私の友人 –

関連する問題