Php 如何根据用户在Laravel 6中注册的服务动态地将用户带到特定的路由

Php 如何根据用户在Laravel 6中注册的服务动态地将用户带到特定的路由,php,laravel,routing,Php,Laravel,Routing,我有三种服务,票、卡和证书,都在服务表中。表列如下所示:\ 用户id、服务、支付金额、创建时间、创建人、交易id 这是我的路线: Route::get('print/enumeration/{id}', 'TransactionController@printEnumeration'); 我希望根据选择的服务将用户带到单独的页面。我知道我可以使用中间件,但我不知道如何实现它,非常感谢您的帮助。首先,通过运行以下命令创建您的中间件: php artisan make:middleware Ser

我有三种服务,票、卡和证书,都在服务表中。表列如下所示:\

用户id、服务、支付金额、创建时间、创建人、交易id

这是我的路线:

Route::get('print/enumeration/{id}', 'TransactionController@printEnumeration');

我希望根据选择的服务将用户带到单独的页面。我知道我可以使用中间件,但我不知道如何实现它,非常感谢您的帮助。

首先,通过运行以下命令创建您的中间件:

php artisan make:middleware ServiceMiddleWare
现在打开在
app/Http/Middleware
目录中创建的文件。在
handle
方法中,您可以放置
switch
语句,设置每个服务的大小写,并定义重定向。
不要忘记在内核中注册中间件。看一看

首先使用

php artisan make:中间件midlewareName

注册中间件app/Http/Kernel.php

protected $routeMiddleware = [
 'name' => \App\Http\Middleware\name::class,
];
现在定义您的中间件应用程序/Http/middleware

范例

    public function handle($request, Closure $next)
{

    if (Auth::check() && Auth::user()->isRole()=="admin") {
        // Redirect...
        return $next($request);
    }
    return redirect('login');
}

阅读文档了解更多详细信息

这是开始使用中间件的好方法: