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