ここでは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']); });
なるほど、登録されてなければ登録して、って処理は多いと思う