本記事では、laravel 8.xにおいて、発生した「Class “App\モデル名” not found」というエラーへの対処法をご紹介させて頂いております。エラーが発生した箇所などについては、それぞれ異なってくると思いますが、エラーの発生ファイル上でこれからお伝えすることに取り組んで頂ければ解決できる可能性が高いです。
✅ Class “App\モデル名” not foundへの対処法
✅ laravel 8.xを利用している方へオススメ
原因と解決法
原因
私自身がエラーを確認をした際に行っていた作業は、シーダー用のファイルの作成でしたが、コマンドを入力し、実行したところ以下のように表示されました。
今回のエラーが発生した原因としては、シーダー用のファイル上に記述したモデル用のPHPファイルへのパスが間違っていることにありました。5.8系以降のバージョンを使用している場合は、use App\モデル名 と記述していることも多いと思いますが、8.x系では、モデル用のPHPファイルは、Modelsフォルダ内にあるため、use宣言の書き方を注意しましょう。
6.x系, 7.x系については、まだ検証は行っておりませんが、同様のエラーが発生した場合は、use宣言で指定しているパスの修正を行うことで解決できる可能性が高いです。
解決法
私の場合は、シーダー用のPHPファイルに記述してあるuse宣言に指定しているモデル用のPHPファイルのパスを修正することでエラーを解決することが出来ました。
以下、修正後に再度、コマンドを実行した際の結果です。
まとめ
✅ Class “App\モデル名” not found の解決法
エラーが発生したファイルのuse宣言(use App\モデル名)を修正(use App\Models\モデル名)することで解決可能な可能性が高いですので、バージョンにあった書き方を心掛けましょう。
エラーが発生したファイルのuse宣言(use App\モデル名)を修正(use App\Models\モデル名)することで解決可能な可能性が高いですので、バージョンにあった書き方を心掛けましょう。
コメント