Laravel 5.2 教程 - 數據填充

1、簡介

Laravel提供的填充類(seed),可讓你們很容易的實現填充測試數據到數據庫。全部的填充類都位於database/seeds目錄。填充類的類名徹底由你自定義,但最好仍是遵循必定的規則,好比可讀性,例如UsersTableSeeder等。javascript

下面以建立學生表的填充爲例,來介紹Laravel中數據填充的使用。(點擊查看演示數據表結構php

2、創建填充文件

1. 使用Artisan的 make:seeder 命令生成students表的填充文件:

php artisan make:seeder StudentsTableSeeder

將會在database/seeds目錄下生成一個StudentsTableSeeder.php填充文件。css

2. 插入填充代碼

打開該文件後,有一個StudentsTableSeeder的類,裏面有個run()方法。在run方法中能夠插入任何你想插入的數據,可使用查詢構建器手動插入數據,也可使用 Eloquent 模型工廠。html

下面以使用查詢構造器爲例,完整代碼以下:java

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class StudentsTableSeeder extends Seeder {
    /** * Run the database seeds. * * @return void */
    public function run() {
        // 使用查詢構造器
        DB::table('students')->insert([
            ['name' => 'sean', 'age' => 18, 'sex' => 20],
            ['name' => 'chen', 'age' => 20, 'sex' => 30],
        ]);
    }
}

3、執行填充文件

1. 執行單個填充文件

php artisan db:seed --class=StudentsTableSeeder

2. 批量執行填充文件

使用批量填充文件,須要在database/seeds/DatabaseSeeder類的run()方法中,將你想要運行的填充器類名傳遞過去便可:git

public function run() {
    $this->call(StudentsTableSeeder::class);
    // $this->call(UsersTableSeeder::class); 
    // 以及其它填充類
}

而後執行以下命令:github

php artisan db:seed

這樣既可添加測試數據到students表中。數據庫


交友互動:

本文首發於馬燕龍我的博客,歡迎分享,轉載請標明出處。
馬燕龍我的博客:http://www.mayanlong.com
馬燕龍我的微博:http://weibo.com/imayanlong
馬燕龍Github主頁:https://github.com/yanlongmamarkdown

相關文章
相關標籤/搜索