如何在laravel中检查餐厅是否被验证?

问题描述 投票:0回答:1

我是laravel的新手,想做一个送餐面板,我使用了Laravel默认的注册和登录用户类别--餐厅,然后用户登录后,用户可以使用路由(add_details)添加餐厅的详细信息,一旦用户添加了餐厅的详细信息,用户就应该... 不能够 进入该路径(add_details)

这将取决于餐厅表中的一列(is_verified),我如何检查。

我想使用Laravel的中间件。

但后来我被卡住了,laravel中间件$request变量是如何工作的,我可以在中间件中获得列值,并验证它。

如果有其他简单而有效的解决方案,我将在sidebar.blade.php中也使用它。

所以,我可以隐藏菜单

laravel laravel-middleware
1个回答
0
投票

我做了一个中间件,并把它添加到kernel.php中,并在路由中使用它。

它的工作FINEBUT我想问这是正确的方式,我已经做了。

Route::get('/manage_cuisines', 'RestaurantCuisineController@create')->name('manage-cuisines')->middleware('restaurant_verified');

    <?php

    namespace App\Http\Middleware;

    use Closure;
    use Auth;
    use \App\User;
    use \App\Restaurant;

    class CheckRestaurantVerification
    {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {

            $restaurant = Restaurant::find(User::find(Auth::id())->restaurant_id);
            if($restaurant->is_verified == 0)
            {
                return redirect('home');
            }
            return $next($request);
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.