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)
小さなミスでもエラーで進まない事がありますが、
ググったりエラーメッセージを翻訳してみたりして、修正しましょう。
コメント