Base table or view not found: Laravelでテーブルが見つからない!

Laravel・PHP豆知識・トラブル対策

Laravelで、データベースに作成してあるテーブルが「見つからない」エラーが起こったとき。

テーブル名を単数形にしていることが原因かもしれません。

思い当たったら、まずは単数形を複数形にしてみてください。

A table was not found

You might have forgotten to run your migrations. You can run your migrations using php artisan migrate.

Pressing the button below will try to run your migrations.

Base table or view not found: Laravelでテーブルが見つからない時の対策

テーブル名を変更するには、次のようにコマンドを入力します。

php artisan make:migration rename_変更前テーブル名_to_変更後テーブル名_table

databaseのなかマイグレーションファイルができます。

下記のように修正をします。

    public function up()
{
Schema::rename(‘変更テーブル名, ‘変更テーブル名’);
}

処理の巻き戻し部分も、忘れずに。

    public function down()
{
Schema::rename(‘変更テーブル名’, ‘変更テーブル名’);
}
これで、マイグレーションを実行します。

データベースの名前が変更されています。

これでエラーが修正されたら万歳!

もしエラーの原因が気になる方は、この先も読んでください。

Base table or view not found: Laravelでテーブルが見つからないエラーの原因

Laravelは基本はテーブル名は複数形、モデル名は単数形で作成します。

テーブルとモデルをバラバラに作成した場合には、モデル名から、連携するテーブル名を推測してくれます。

Laravel側としては、テーブル名が複数形であると思っています。

そのため、テーブル名が単数形だと混乱してしまうようです…

ララベルを困らせないように、テーブルとモデルをバラバラに作成するときには、単数・複数形に注意していきましょー^^;

コメント

タイトルとURLをコピーしました