Маршруты: переключать разные действия в зависимости от слага без изменения url - PullRequest
0 голосов
/ 28 мая 2020

У меня есть запасной маршрут в конце Интернета. php. Он ищет в модели текущий ярлык и должен перенаправить на правильное действие контроллера. Если пул не найден, он продолжит показывать ошибку 404.

В этом резервном маршруте я хочу иметь возможность решить, какой контроллер и какое действие вызывать. Проблема в том, что если я вызову просто Route :: get () или redirect-> route (), он изменит URL-адрес. Но я хочу, чтобы URL остался прежним. Возможно ли это?

Моя текущая функция маршрута:

Route::get('/{any}', function ($any){
    $routeKey = \App\Models\RouteKey::where('key', $any)->first();
    if(is_null($routeKey)) {
        abort(404);
    }

    if($routeKey->routable_type == 'App\Models\Category') {
        return redirect()->route('category.show', $routeKey->routable_id);
        //return action('CategoryController@show', $category->slug);
    } elseif($routeKey->routable_type == 'App\Models\Product') {
        return redirect()->route('product.show', $routeKey->routable_id);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...