Laravel 6: удалить регистр маршрута, используя модель пользователя в маршрутах - PullRequest
0 голосов
/ 13 февраля 2020

Я хотел бы удалить маршрут регистрации из моего Auth::routes(), когда пользователь с ролью администратора зарегистрирован без использования App \ User в моем файле маршрутов.

use App\User;
if (User::where("role","=", "admin")->exists())
    Auth::routes(['register' => false, 'verify' => true]);
else
    Auth::routes(['verify' => true]);

Зачем мне хотите это?

Этот код вызывает ошибку mysql, когда я запускаю php artisan без таблиц в моей базе данных. Я не нашел никакого решения о том, как решить эту проблему, и было бы здорово, если бы вы могли предложить мне решения о том, как этого добиться.

1 Ответ

0 голосов
/ 13 февраля 2020

Я предлагаю использовать Middleware .Использование:

use Illuminate\Support\Facades\Route;

 public function handle($request, Closure $next)
 {
     $user=User::where("role","=", "admin")->first();
     $route = Route::getRoutes()->match($request);
     $currentroute = $route->getName();
     if($currentroute == "/register"){
       if(User::where("role","=", "admin")->count()>0){
       return $next($request);
        }
       else{
         abort(404)
        }
     }
}
...