Laravel5.1 填充數據庫

當咱們建立好表結構後 一般都要生成一些測試用的數據來測試,應對這個場景呢 Laravel提供了至關好的服務 --seedphp

Laravel的seeder都會放在:/database/seeders 目錄中,而且會提供一個DatabaseSeeder 在DatabaseSeeder的run方法中你能夠調用其餘你建立的seederdom

 


1 建立一個Seeder

運行artisan建立:測試

php artisan make:seeder ArticlesSeeder

1.1 使用構建器填充

seeder中只有一個run方法 咱們能夠在run方法中執行咱們的插入方法 在run中能夠用構建器 也能夠用模型工廠(關於這兩點後續會寫到哦)this

    public function run()
    {
        DB::table('articles')->insert([
            'title' => str_random(20),
            'body' => str_random(200),
        ]);
    }

1.2 使用模型工廠填充(經常使用)

    public function run()
    {
        factory(\App\User::class, 10)->create();
    }

這樣就建立了10個用戶。spa

 


2 執行填充器

2.1 指定執行

好比說 咱就執行 ArticlesSeeder 這個填充器 能夠這樣寫:code

php artisan db:seed --class=ArticlesSeeder

2.2 默認執行

默認執行就是執行 DatabaseSeeder 這個填充器:blog

php artisan db:seed

2.3 調用自定義填充器

若是執行了 DatabaseSeeder 填充器,要不就在它的run方法中實現數據填充,要不就調用自定義填充器:it

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();
        $this->call('ArticlesSeeder');
        Model::reguard();
    }
}

而後運行:io

php artisan db:seed
相關文章
相關標籤/搜索