###前提・実現したいこと
ユーザー登録機能を実装中です。
ユーザー登録画面において、ユーザー名・メールアドエス・パスワードを入力して送信しましたが、エラーメッセージが表示されます。
問題なくユーザーを登録できるようにしたいです。
###発生している問題・エラーメッセージ
Illuminate\Database\QueryException could not find driver (SQL: select count(*) as aggregate from "users" where "name" = test)
###該当のソースコード
routes/web.php
PHP
1<?php 2 3Auth::routes(); 4Route::get('/', 'ArticleController@index');
app/Http/Controllers/Auth/RegisterController.php
PHP
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\Http\Controllers\Controller; 6use App\Providers\RouteServiceProvider; 7use App\User; 8use Illuminate\Foundation\Auth\RegistersUsers; 9use Illuminate\Support\Facades\Hash; 10use Illuminate\Support\Facades\Validator; 11 12class RegisterController extends Controller 13{ 14 /* 15 |-------------------------------------------------------------------------- 16 | Register Controller 17 |-------------------------------------------------------------------------- 18 | 19 | This controller handles the registration of new users as well as their 20 | validation and creation. By default this controller uses a trait to 21 | provide this functionality without requiring any additional code. 22 | 23 */ 24 25 use RegistersUsers; 26 27 /** 28 * Where to redirect users after registration. 29 * 30 * @var string 31 */ 32 protected $redirectTo = RouteServiceProvider::HOME; 33 34 /** 35 * Create a new controller instance. 36 * 37 * @return void 38 */ 39 public function __construct() 40 { 41 $this->middleware('guest'); 42 } 43 44 /** 45 * Get a validator for an incoming registration request. 46 * 47 * @param array $data 48 * @return \Illuminate\Contracts\Validation\Validator 49 */ 50 protected function validator(array $data) 51 { 52 return Validator::make($data, [ 53 'name' => ['required', 'string', 'alpha_num', 'min:3', 'max:16', 'unique:users'], 54 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 55 'password' => ['required', 'string', 'min:8', 'confirmed'], 56 ]); 57 } 58 59 /** 60 * Create a new user instance after a valid registration. 61 * 62 * @param array $data 63 * @return \App\User 64 */ 65 protected function create(array $data) 66 { 67 return User::create([ 68 'name' => $data['name'], 69 'email' => $data['email'], 70 'password' => Hash::make($data['password']), 71 ]); 72 } 73}
resources/views/auth/register.blade.php
PHP
1@extends('app') 2 3@section('title', 'ユーザー登録') 4 5@section('content') 6 <div class="container"> 7 <div class="row"> 8 <div class="mx-auto col col-12 col-sm-11 col-md-9 col-lg-7 col-xl-6"> 9 <h1 class="text-center"><a class="text-dark" href="/">memo</a></h1> 10 <div class="card mt-3"> 11 <div class="card-body text-center"> 12 <h2 class="h3 card-title text-center mt-2">ユーザー登録</h2> 13 14 @include('error_card_list') 15 16 <div class="card-text"> 17 <form method="POST" action="{{ route('register') }}"> 18 @csrf 19 <div class="md-form"> 20 <label for="name">ユーザー名</label> 21 <input class="form-control" type="text" id="name" name="name" required value="{{ old('name') }}"> 22 <small>英数字3~16文字(登録後の変更はできません)</small> 23 </div> 24 <div class="md-form"> 25 <label for="email">メールアドレス</label> 26 <input class="form-control" type="text" id="email" name="email" required value="{{ old('email') }}"> 27 </div> 28 <div class="md-form"> 29 <label for="password">パスワード</label> 30 <input class="form-control" type="password" id="password" name="password" required> 31 </div> 32 <div class="md-form"> 33 <label for="password_confirmation">パスワード(確認)</label> 34 <input class="form-control" type="password" id="password_confirmation" name="password_confirmation" required> 35 </div> 36 <button class="btn btn-block blue-gradient mt-2 mb-2" type="submit">ユーザー登録</button> 37 </form> 38 39 <div class="mt-0"> 40 <a href="{{ route('login') }}" class="card-text">ログインはこちら</a> 41 </div> 42 43 </div> 44 </div> 45 </div> 46 </div> 47 </div> 48 </div> 49@endsection 50
###試したこと
マイグレーションできるか、確認しました。
$ docker-compose exec workspace php artisan migrate
問題なくマイグレーションが実行されました。
###補足情報(FW/ツールのバージョンなど)
PHP 8.0.3
Laravel 6.20.24
Docker 20.10.5
docker-compose 1.29.0
windowsを使用。
回答1件
あなたの回答
tips
プレビュー