Laravel提供的填充類(seed),可讓你們很容易的實現填充測試數據到數據庫。全部的填充類都位於database/seeds目錄。填充類的類名徹底由你自定義,但最好仍是遵循必定的規則,好比可讀性,例如UsersTableSeeder等。javascript
下面以建立學生表的填充爲例,來介紹Laravel中數據填充的使用。(點擊查看演示數據表結構)php
php artisan make:seeder StudentsTableSeeder
將會在database/seeds目錄下生成一個StudentsTableSeeder.php填充文件。css
打開該文件後,有一個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], ]); } }
php artisan db:seed --class=StudentsTableSeeder
使用批量填充文件,須要在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