質問するログイン新規登録
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

163閲覧

Laravelで「クラス 'App\Models\Author' が見つかりません」とエラーが出る

beeharaimobal

総合スコア2

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2025/10/01 02:14

0

0

実現したいこと

LaravelでAuthorモデルを使い、一覧表示と新規登録をできるようにしたいです。

発生している問題・分からないこと

Laravelの学習中に、モデル Author を使おうとしたところ、
「クラス App\Models\Author が見つかりません」とエラーが出てしまいます。

モデルファイルは app/Author.php に作成していて、namespace も App\Models; と書いてあります。
コントローラー側では use App\Models\Author; と指定しています。

composer dump-autoload やキャッシュクリアも試しましたが解決できませんでした。
どうすれば Author モデルを正しく読み込めるようになるのでしょうか?

該当のソースコード

app/Author.php

1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7 8class Author extends Model 9{ 10 use HasFactory; 11 12 protected $fillable = ['name','age','nationality']; 13} 14

app/Http/Controllers/AuthorController.php

1<?php 2 3namespace App\Http\Controllers; 4 5use App\Models\Author; 6use Illuminate\Http\Request; 7 8class AuthorController extends Controller 9{ 10 public function index() 11 { 12 $authors = Author::all(); 13 return view('index', ['authors' => $authors]); 14 } 15 16 public function create(Request $request) 17 { 18 Author::create($request->only(['name', 'age', 'nationality'])); 19 return redirect('/'); 20 } 21} 22

routes/web.php

1<?php 2 3use Illuminate\Support\Facades\Route; 4use App\Http\Controllers\AuthorController; 5 6Route::get('/', [AuthorController::class, 'index']); 7Route::post('/author/create', [AuthorController::class, 'create']); 8

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

クラス「App\Models\Author」が見つかりません

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beeharaimobal

2025/10/02 17:22

ありがとうございます😊参加になりました!これからもよろしくお願いします!
guest

回答1

0

ベストアンサー

モデルファイルのapp/Author.phpを app/Models/Author.php に移動すれば解決すると思います。まずはapp以下にModelsディレクトリを手動で作成し、Author.phpを作成したModelsディレクトリの中に入れてください。その他の部分は特に問題なさそうに見えますが、別のエラーが出るようであればそれも対応してください。

モデルファイルを作る際はコンソールからphp artisan make:model Authorとやれば、適切な位置(今回で言えばapp/Models以下)に作成されると思いますので、なるべくコマンドから作成されることをおすすめします。

投稿2025/10/02 17:14

AbeTakashi

総合スコア4960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beeharaimobal

2025/10/04 15:14

回答ありがとうございます。 試したところ問題が解決しました! ベストアンサーに選ばせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問