Маршрут Laravel не работает внутри группы

Рассмотрим сигнатуры метода

public static void foo(int a)

и

public static void foo(Integer a)

. Перед боксом и распаковкой вызов foo(1) не был бы двусмысленным. Для обеспечения совместимости с более ранними версиями Java вызов остается недвусмысленным. Поэтому первая фаза разрешения перегрузки не позволяет запускать бокс, unboxing или переменную arity invocation, которые были введены одновременно. Вызов переменной arity - это когда вы вызываете метод varargs, передавая последовательность параметров для последнего аргумента (а не массива).

Однако разрешение method(1) для ваших сигнатур методов допускает бокс и распаковку потому что для обоих методов требуется вызов переменной arity. Поскольку бокс разрешен, применяются обе подписи. Обычно, когда применяются две перегрузки, выбирается наиболее конкретная перегрузка. Однако ни одна из ваших подписей не является более конкретной, чем другая (потому что ни int, ни Integer не являются подтипом другого). Поэтому вызов method(1) неоднозначен.

Вы можете сделать этот компилятор, передав вместо него new int[]{1}.

0
задан Script Lover 16 January 2019 в 12:11
поделиться

1 ответ

Поскольку вы уже определили Admin\ путь к пространству имен в родительской группе. Таким образом, вы не используете Admin снова путь к пространству имен в маршрутах в группе.

Можете ли вы попробовать следующий маршрут определения.

Route::post('/dashboard/tokens-sale-record','DashboardController@totalSaleForChart')->name('tokensSaleRecords');

Если вы снова используете Admin\Dashboard, Laravel будет искать его в DashboardController как Admin \ Admin \ DashboardController.

0
ответ дан FGDeveloper 16 January 2019 в 12:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: