[Laravel8.x] usersテーブルの値がNULLかのMiddlewareを作る

ここではemailが登録されているかの判定をし、登録されていなければ登録画面へ飛ばす
is_nullで判定する。

$ php artisan make:middleware RegisteredEmail
app/Http/Kernel.php

    protected $routeMiddleware = [
        // 省略
        'RegisteredEmail'=>\App\Http\Middleware\RegisteredEmail::class,
    ];

app/Http/Middleware/RegisteredEmail.php

use Illuminate\Support\Facades\Auth;
    public function handle(Request $request, Closure $next)
    {
       $user = Auth::user();
        if(is_null($user->email)){
            return redirect()->intended('/auth');
        }
        return $next($request);
    }

route

Route::group(['middleware' => ['auth','RegisteredEmail']], function(){
	Route::get('/email_test', [AdminController::class, 'emailTest']);
});

なるほど、登録されてなければ登録して、って処理は多いと思う