seed 填充测试数据找不到指定类
我创建了一个空的 \App\Clue 类,
// app/Clue.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Clue extends Model
{
//
}
然后还创建了一个对应的seeder
// databases/seeds/CluesTableSeeder.php
use Illuminate\Database\Seeder;
class CluesTableSeeder extends Seeder
{
public function run()
{
factory(\App\Clue::class, 40)->create();
}
}
以及对应的 factory 文件:
// databases/factories/ClueFactory.php
use Faker\Generator as Faker;
$factory->define(\App\Clue::class, function (Faker $faker) {
return [
'name' => $faker->word,
...
];
});
当我运行 php artisan db:seed --class=CluesTableSeeder 时,终端报错提示:
In FactoryBuilder.php line 192:
Class 'App\Clue' not found
错误的意思是找不到这个类,但是我就是在这个命名空间下定义的这个类,虽然是个空类。
挣扎过程:
- 系统原本自动生成的一个User类的Seeder运行却是正常的,我对比了二者,除了引入的类名不同,别的都一样,但就是这个不行,那个行;
- 网上查到的很多资料都是--class=指定的这个类没找到,要运行 composer dump-autoload,本着死马当活马医的原则,我试了下,不行;
- 还有说用use导入包的,也一样不行;
黔驴技穷的我只能来寻求论坛的帮助了,在此先谢过各位。
我刚直接在普通类里面使用这个模型Clue::all(),也是提示找不到App\Clue,怀疑是composer的自动加载配置有问题;
推荐文章: