Laravel. Маршруты не совпадают

Сначала кажется, что это те же маршруты. Но на первом маршруте не работает промежуточное ПО, которое я заказал в конструкторе.

Как это исправить?

Route::get('/cars.get', function() {

return App::make('App\Http\Controllers\CarsController')->{'get'}();

});

Route::get('/cars.get', 'CarsController@get');

простите за мой английский =)

0

Решение

редактировать

Я был неправ насчет callAction() он ничего не делает, кроме как вызывает метод.
К сожалению, не существует простого API для вызова промежуточного программного обеспечения вручную. Решением этой проблемы было бы просто определить промежуточное ПО на маршруте:

Route::get('/cars.get', ['middleware' => 'auth', function() {
return App::make('App\Http\Controllers\CarsController')->{'get'}();
}]);

оригинальный ответ:

Напрямую позвонив get() метод, который вы пропускаете промежуточное программное обеспечение, определенное в контроллере. Вы должны использовать callAction() вместо:

return App::make('App\Http\Controllers\CarsController')->callAction('get');

Также обратите внимание, что вы можете использовать app() как ярлык для App::make():

return app('App\Http\Controllers\CarsController')->callAction('get');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]