LoginSignup
0
0

More than 3 years have passed since last update.

Laravelではモデルはコマンドで作る。Base table or view not found: 1146 Table 'XXXX' doesn't existの対応

Posted at

Laravelに慣れてきた(初心者レベルで)と調子に乗ってたら、ハマって意外と知らなかった基礎知識があったので、自分のためにメモ。

サクサクとデータベースやらモデルやらを作っていたら、明らかにテーブルなどが合っているのに、

Base table or view not found: 1146 Table 'ZZ.XXXX' doesn't exist

というエラー。

調べると「テーブルがありません」というエラーのよう。
合ってるはずなのに、なぜか「zz.」と文字列が付与される。

結論、Laravelではartisanコマンドでモデルを作った時にテーブル名が定義されるようで、今回は他のモデルをコピーして作ってしまったので、Laravel側でテーブル名が定義されていなかったという事象。

「zz.」は、Laravelの親ディレクトリの名前でした。

コントローラーやマイグレーションファイルも、コピーして作った方が早いのでつい作っていましたが、きちんとartisanコマンドで作らないと、知らないところで同じような事故の元が増えそう。
今後は、面倒くさがらずにコマンドで各ファイルを作ることにします。

0
0
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
0