1.創建填充文件:php artisan make:seeder UserTableSeeder
2.在run方法里面寫填充數據的代碼:
use Illuminate\Database\Seeder; class UsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { factory(\App\User::class)->times(300)->create(); } }
3.在DatabaseSeeder里面調用UserTableSeeder
public function run() { $this->call(UsersTableSeeder::class); }
4.運行:php artisan db:seed 或 php artisan db:seed --class=UserTableSeeder
注:此步驟可能會出現如下錯誤信息:[ReflectionException] Class ***TableSeeder does not exist`,
確保新的seeder文件和全局database seeder是在同一個seeder目錄下了,仍然會出現這個問題的原因是我們需要清理下之前執行生成的classmap信息。
在控制台中執行`composer dump-autoload`,然后再執行`php artisan db:seed`
注:如果出現Unable to locate factory with name [default] [\AppTest]
解決:在database\factories\ModelFactory.php里面增加
$factory->define(App\Test::class, function (Faker\Generator $faker) { return [ 'user_id'=>$faker->randomNumber(), 'title' => $faker->title, 'content' => $faker->text(), ]; });