Laravel --- 自動生成數據


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(),
    ];
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM