request () -> route () -> getName () возвращает неправильное значение для вложенных групп маршрутов - PullRequest
0 голосов
/ 29 августа 2018

у меня есть группа вложенных маршрутов, таких как

Route::name('stores')
    Route::name('administrador')
        Route::resource('resource')

Когда я использую

`request()->route()->getName()` 

внутри ресурса это форпост

`storesadministradorresource.index`

Почему это показывает? это должно ответить что-то вроде этого

`stores.administrador.resource.index`

1 Ответ

0 голосов
/ 29 августа 2018

Как упоминалось в codisfy, он компилирует конфигурацию для группы (групп) и объединяет ее с тем, что определил маршрут. Группы - это просто способ каскадного конфигурирования. В конце определены только отдельные маршруты.

Route::name('stores.')...
    Route::name('administrador.')...
        Route::resource('resource', ...);

stores.administrador.resource.index

Вот фрагмент кода, который показывает объединение свойства name / as:

// a helper file for dealing with the concept of route groups
// Illuminate\Routing\RouteGroup@formatAs

protected static function formatAs($new, $old)
{
    if (isset($old['as'])) {
        $new['as'] = $old['as'].($new['as'] ?? '');
    }

    return $new;
}

// $name = $old . $new;

Он объединяет вещи без разделителя.

Laravel 5.6 Документы - Маршрутизация - Группы - Префикс имени маршрута

...