0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravelのログイン機能でRegister(情報登録)ができない時の対処法

Posted at

発生したエラー

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mmictltd.admins' doesn't exist 

ブラウザ上で、上記エラーが発生してしまいました。
これは簡単にいうとテーブルがないよ。ということ。

エラーまでの流れ

Laravelのログイン機能をインストールして、ログイン機能を表示するところまで
できたのですが、会員登録をしようとするとエラーが起きました。

認証機能をインストールすると、

ユーザ登録のためのテーブルマイグレーションファイルは database/migrations/2014_10_12_000000_create_users_table.php と database/migrations/2014_10_12_100000_create_password_resets_table.php として標準で準備されている.

らしいのですが、自分は”2014_10_12_100000_create_password_resets_table.php”こちらしかインストールされていなかったです。

どう対処したか

■結論
テーブルを強引に作成した

■なぜなら

・DBにuserテーブルが存在しているか。
・appフォルダに「User.php」は存在するか。
・envファイルに正しくDBの情報を書き込んでいるか。

これらが原因らしく、そもそもuserテーブルが存在していなかったので、どうしても
テーブル問題を解決する必要があった。
migrationのミスなのかな、とも思ったが
migrate:rollbackしてから再度migrateしても結果は変わらなかったため強引に作ることにした。

テーブルの作り方

php artisan make:migration create_flights_table

これをflightsを好きな名前にするだけ。今回はusersにする必要があったためそうした。

ちなみに、テーブル名は複数形で、モデルは単数じゃないとエラーが起きるぽいので注意してください!

Userテーブルが作れたら、本来記載されているはずのコードをコピペする。

<?php
 
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
 
class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

こうなりました

スクリーンショット 2022-02-16 16.49.25.png
スクリーンショット 2022-02-16 16.49.35.png

エラー解決はやはり嬉しい!嬉しすぎて、温泉のセブンティーンアイスを買ってしまった。。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?