調剤薬局オーナー様へ 【現在就業可能日】火曜、木曜、土曜、日曜 時給3,300円~相談可能 お気軽にお問い合わせください。

Illuminate\Database\QueryException SQLSTATE[42S02]: Base table or view not found:【Laravel エラーメッセージ解決法】

Laravel初心者まとめ記事⑧〔マイグレーション 後編〕

でも軽く触れておりますが、上記画像のエラーメッセージが生じ、正常動作が出来ませんでした。

場面としては、Laravel tinker操作時のコマンド【$test->save();】を叩いた後です。

Google翻訳で日本語に訳してみる

(エラーメッセージ原文)Illuminate\Database\QueryException SQLSTATE[42S02]: Base table or view not found:

(日本語)Illuminate\Database\QueryException SQLSTATE[42S02]: ベース テーブルまたはビューが見つかりません:

テーブルまたはビューが見つからない

との事です。

またnot found:に続き「1146 Table ‘Laravel.tests’ doesn’t exit」と書いており、

Laravelフォルダの中の【tests】テーブルが存在しないとの事。

Lalavelフォルダの中のtestsテーブルを確認

≪解決方法≫

マイグレーションファイルを作成時に

php artisan make:migration create_tests_table

とコマンド入力しなければいけないところを、

php artisan make:migration create_test_table

と単数形で記載したため。

▶ test tableが作られたものの「table ‘Laravel.tests’」がdoesn’t exit(存在しない)と言うエラーになった。

新しくcreate_tests_tableでマイグレーションファイルを新規作成し直すことで、

無事に「->save();」コマンドも「true」を返してくれました。

≪再確認事項≫

Lalavelではモデルとイミグレーションは以下のように記述方法を守ることで、自動的に紐づけられる。

モデル側命名 単数形・基本大文字から始める(例 Test.php)

イミグレーション側命名 複数形・基本小文字から始める(例 create_tests_table.php)

小さなミスでもエラーで進まない事がありますが、

ググったりエラーメッセージを翻訳してみたりして、修正しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次