2016-01-16 6 views
0

поэтому я должен сделать эту систему для управления транспортом. Пользователь может регистрировать создание/обновление/редактирование всех своих поездок. Но администратор может сделать то же самое для всех пользователей. Я разделил пользователь и администратор в маршрутизировать префиксы:Laravel admin/user route prefix approach

Route::group(['prefix' => 'admin/', 'middleware' => ['auth','admin']], function(){ 
Route::resource('trips', 'TripsController', 
     array('except' => array('show')));} 

Route::group(['prefix' => 'user/', 'middleware' => ['auth', 'user']], function(){ 

Route::resource('trips', 'TripsController', 
     array('except' => array('show'))); 
} 

Проблема заключается в каждом способе TripController я должен передать переменный маршрут с правильной URL (запрос администратора будет иметь префикс «администратор», и пользователи будут иметь «пользователь» префикс)

return View('trips.index', compact('users', 'route')); 

вопрос есть способ сделать это хорошо, или я должен просто тянуть время поездок маршрута :: ресурс из обеих групп, так что он не будет иметь какой-либо группы? Каков правильный подход?

ответ

2

Я использую этот подход:

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

    // For Other middlewares 

    Route::group(['middleware' => 'IsNotAuthenticated'], function(){ 

     // "admin::login" 
     // http://localhost:8000/admin/login 
     Route::get('login', ['as' => 'login', 'uses' => '[email protected]']); 

    }); 


    // For admin middlewares 
    Route::group(['middleware' => 'admin'], function(){ 

     // "admin::admin.area.index" 
     // http://localhost:8000/admin/area/{area} 
     Route::resource('Area', 'AreaController'); 

     // "admin::dashboard"  
     // http://localhost:8000/admin/ 
     Route::get('/', ['as' => 'dashboard', 'uses' => '[email protected]']); 

    }); 

}); 

Всякий раз, когда мне нужно, чтобы получить доступ к URL в шаблонах лопастного я просто использовать вспомогательный метод маршрута.

// For resourceful routes  

{{ route('admin::admin.city.index') }} 

или

//For regular get/post routes 

{{ route('admin::dashboard') }} 

Или просто запустить команду ремесленник, чтобы получить список имен маршрутов.

php artisan route:list 
+0

Спасибо за подсказку :) – MattJ