c0d3man52

Webサイト制作

Lumenのシーダで「Class not found」となってエラーになった時の対処方法

Lumenのシーダでデータベースにデータを入れ込んでいるときに、「Class not found」となってエラーになってちょっとハマったので、対処方法を残しておきます。

更新日: 2018.7.17公開日: 2018.6.20

現象

コマンドラインから普通にシーダを呼び出してみると、、、

php artisan db:seed

Seeding: HogehogeSeed
Seeding: FugafugaSeed

In Container.php line 767:

  Class FugafugaSeed does not exist

クラスがないよと怒られます。クラス名などは正しいのに。。。

解決策

おかしいなと思って情報を探していたところ解決策が見つかりました。

composer dump-autoload -o

laracastsのフォーラムによると、seedsのディレクトリはオートロードされないとか。

for the autoloader to pick up the newly classes because the database folder is not automatically autoloaded with PSR-4.

Seeder class not found in Laravel5 Seeding

でも、普通にオートロードされる時もあるんですよね。どういう挙動なんでしょうか。


今回の手法はどちらかというエラーが起きた時の緊急対処として覚えておくと良さそうです。

タグ