Laravelに慣れてきた(初心者レベルで)と調子に乗ってたら、ハマって意外と知らなかった基礎知識があったので、自分のためにメモ。
サクサクとデータベースやらモデルやらを作っていたら、明らかにテーブルなどが合っているのに、
Base table or view not found: 1146 Table 'ZZ.XXXX' doesn't exist
というエラー。
調べると「テーブルがありません」というエラーのよう。
合ってるはずなのに、なぜか「zz.」と文字列が付与される。
結論、Laravelではartisanコマンドでモデルを作った時にテーブル名が定義されるようで、今回は他のモデルをコピーして作ってしまったので、Laravel側でテーブル名が定義されていなかったという事象。
「zz.」は、Laravelの親ディレクトリの名前でした。
コントローラーやマイグレーションファイルも、コピーして作った方が早いのでつい作っていましたが、きちんとartisanコマンドで作らないと、知らないところで同じような事故の元が増えそう。
今後は、面倒くさがらずにコマンドで各ファイルを作ることにします。