発生したエラー
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');
}
}
こうなりました
エラー解決はやはり嬉しい!嬉しすぎて、温泉のセブンティーンアイスを買ってしまった。。