Как установить значение параметра маршрута по умолчанию из URL-адреса запроса в laravel - PullRequest
0 голосов
/ 28 мая 2018

У меня есть следующие настройки маршрутизации:

Route::prefix('admin/{storeId}')->group(function ($storeId) {
  Route::get('/', 'DashboardController@index');
  Route::get('/products', 'ProductsController@index');
  Route::get('/orders', 'OrdersController@index');
});

, поэтому, если я генерирую URL с помощью помощника 'action', мне не нужно явно указывать storeId.

{{ action('DashboardController@index') }}

Я хочу, чтобы storeId устанавливался автоматически из URL-адреса запроса, если он указан.

, может быть, что-то вроде этого.

Route::prefix('admin/{storeId}')->group(function ($storeId) {
  Route::get('/', 'DashboardController@index');
  Route::get('/products', 'ProductsController@index');
  Route::get('/orders', 'OrdersController@index');
})->defaults('storeId', $request->storeId);

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

В документах упоминается параметр по умолчанию, хотя в отношении помощника route (должен работать со всеми помощниками, генерирующими URL):

"Таким образом, вы можете использовать метод URL::defaults для определениязначение по умолчанию для этого параметра, которое всегда будет применяться во время текущего запроса. Возможно, вы захотите вызвать этот метод из промежуточного программного обеспечения маршрута, чтобы у вас был доступ к текущему запросу "

", как только значение по умолчанию для... параметр был установлен, вам больше не нужно передавать его значение при генерации URL-адресов с помощью помощника route. "

Laravel 5.6 Документы - Генерация URL-адресов - Значения по умолчанию

0 голосов
/ 28 мая 2018

Laravel работает точно так, как вы описали.

Вы можете получить доступ к storeId с помощью метода вашего контроллера

class DashboardController extends Controller {
    public function index($storeId) {
        dd($storeId);
    }
}

http://localhost/admin/20 выведет «20»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...