正在学习 Laravel 填充功能 ,报错找不到模型工厂类
我正在学习 Laravel 的数据填充功能
创建了 Seeder 如下
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class TestTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
// DB::table('table_test')->insert([
// 'name' => 'mayun',
// 'email' => 'mayun@aliyun.com',
// 'age' => mt_rand(1, 100),
// 'sex' => mt_rand(0, 1),
// ]);
factory(TestTable::class, 20)->create();
}
}
运行 php artisan db:seed -v ,直接向数据库插入数据是可以成功的( 注释的内容 )
创建模型工厂 :php artisan make:factory TestTable 生成以下文件
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\TestTable;
use Faker\Generator as Faker;
$factory->define(TestTable::class, function (Faker $faker) {
return [
//
'name' => $faker->name,
'age' => mt_rand(10, 100),
'email' => $faker->unique()->safeEmail,
'sex' => mt_rand(0, 1),
'created_at' => time(),
'updated_at' => time(),
];
});
再次执行填充 : php artisan db:seed -v ,报错了
Symfony\Component\Debug\Exception\FatalThrowableError : Class 'TestTable' not found
我的模型工厂跟系统的 UserFactory 是基本一致的 ,不知道为什么会找不到 Class
public function run()
{
//
// DB::table('table_test')->insert([
// 'name' => 'Lupita Smith',
// 'email' => 'lupita@gmail.com',
// 'age' => mt_rand(1, 100),
// 'sex' => mt_rand(0, 1),
// ]);
factory(App\TestTable::class, 20)->create();
}
我尝试将代码改成这样
public function run()
{
//
// DB::table('table_test')->insert([
// 'name' => 'Lupita Smith',
// 'email' => 'lupita@gmail.com',
// 'age' => mt_rand(1, 100),
// 'sex' => mt_rand(0, 1),
// ]);
factory(App\TestTable::class, 20)->create();
}
还是会报错
Class 'App\TestTable' not found
可以看看这篇 https://stackoverflow.com/questions/339739...