как я могу динамически доставлять пользователей на определенные маршруты в зависимости от услуги, на которую они зарегистрированы в Laravel 6 - PullRequest
1 голос
/ 26 января 2020

У меня есть три услуги, Билеты, Карты и Сертификаты, все в таблице услуг. столбцы таблицы выглядят следующим образом: \

user_id, Service, amount_paid, создал_кат, создан_бай, транзакция_ид

это мой маршрут:

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

Я хочу, чтобы пользователь был переведен на отдельную страницу в зависимости от выбранной услуги. Я знаю, что могу использовать промежуточное ПО, но у меня нет отличных знаний о том, как его реализовать, любая помощь будет принята с благодарностью, спасибо.

Ответы [ 2 ]

1 голос
/ 26 января 2020

Сначала создайте промежуточное ПО, используя

php ремесленник: промежуточное ПО midlewareName

Зарегистрируйте приложение промежуточного программного обеспечения / 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');
}

прочитайте документы для получения более подробной информации https://laravel.com/docs/6.x/middleware

0 голосов
/ 26 января 2020

сначала создайте свое промежуточное ПО, запустив:

php artisan make:middleware ServiceMiddleWare

, теперь откройте файл, созданный в каталоге app/Http/Middleware. внутри метода handle вы можете разместить оператор switch, установить регистр для каждой службы и определить перенаправления. не забудьте зарегистрировать ваше промежуточное ПО в ядре. взгляните на этот документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...