You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10 Seeder报错找不到类,php artisan db:seed执行失败

Laravel Seeder 报错:找不到 app\Models\Article 类

我遇到了和某Stackoverflow问题完全一样的情况,但上面的解决方案都不管用。我跟着一个Laravel API教程操作,却卡在了Laravel Seeder失败这里。

相关代码

模型文件(app\Models\Article.php)

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    use HasFactory;

    protected $table = 'articles';
    protected $fillable = ['title', 'body'];
}

填充器文件(database\seeders\ArticlesTableSeeder.php)

<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

use app\Models\Article;


class ArticlesTableSeeder extends Seeder {
  /**
   * Run the database seeds.
   */
  public function run(): void {

    Article::truncate();
    $faker = \Faker\Factory::create();

    // 创建50条测试文章数据
    for ($i = 0; $i < 50; $i++) {
      Article::create([
          'title' => $faker->sentence,
          'body' => $faker->paragraph,
      ]);
    }
  }
}

报错信息

执行命令 php artisan db:seed --class=ArticlesTableSeeder 时,出现错误:

Class "app\Models\Article" not found

我已经尝试清除缓存,多次执行 composer dump-autoload,但问题仍未解决。


解决方案

问题出在填充器文件的命名空间引用上:

在 ArticlesTableSeeder.php 中,你写的是:

use app\Models\Article;

PHP的命名空间严格区分大小写,正确的引用应该是大写开头的 App:

use App\Models\Article;

修改后依次执行以下命令即可:

composer dump-autoload
php artisan db:seed --class=ArticlesTableSeeder

如果问题依旧,可先清除Laravel配置缓存后再重试:

php artisan config:clear
php artisan cache:clear

内容的提问来源于stack exchange,提问作者fat penguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:03:26