????laravel為了數據能夠更加方便的填入數據庫,專門定義了一個填充類,可以為你的數據庫填充測試數據,所有的填充類都放在 database/seeds 目錄下,本文就帶大家一起來看一看。
一、編寫 Seeders 并填充數據
-
利用?Artisan?命令?make:seeder?生成?Seeder
php?artisan?make:seeder?UserSeeder
-
生成 UserSeeder 類
<?php namespace DatabaseSeeders; use IlluminateDatabaseSeeder; use IlluminateSupportFacadesDB; class UserSeeder extends Seeder { public function run() { } }
-
利用查詢構造器在 run 方法中插入數據
DB::table('users')->insert( ??[ ?? ???['name'?=>?'321250887','email'?=>?'321250887@qq.com','password'?=>?bcrypt('321250887')], ???['name'?=>?'321250888','email'?=>?'321250888@qq.com','password'?=>?bcrypt('321250888')], ???['name'?=>?'321250889','email'?=>?'321250889@qq.com','password'?=>?bcrypt('321250889')], ???['name'?=>?'3212508810','email'?=>?'3212508810@qq.com','password'?=>?bcrypt('3212508810')], ???['name'?=>?'3212508811','email'?=>?'3212508811@qq.com','password'?=>?bcrypt('3212508811')], ???['name'?=>?'3212508812','email'?=>?'3212508812@qq.com','password'?=>?bcrypt('3212508812')], ???['name'?=>?'3212508813','email'?=>?'3212508813@qq.com','password'?=>?bcrypt('3212508813')], ???['name'?=>?'3212508814','email'?=>?'3212508814@qq.com','password'?=>?bcrypt('3212508814')], ??]); //相應的類已經在上方導入
-
使用 Artisan 命令 db:seed? –class 選項來指定一個特定的 seeder 類:
php?artisan?db:seed?--class=UserSeeder
二、使用默認的 DatabaseSeeder 類并填充數據
-
利用查詢構造器在 run 方法中插入數據
<?php namespace DatabaseSeeders; use IlluminateDatabaseSeeder; use IlluminateSupportFacadesDB; class DatabaseSeeder extends Seeder { public function run() { DB::table('users')->insert([ ????????????'name'?=>?'3212508814', ????????????'password'?=>?bcrypt('3212508814')], ????????]); ????} }
-
使用 call 方法來運行其它的 seed 類
public?function?run() { ????$this->call([ ????????UserSeeder::class, ????????CategorySeeder::class, ????]); }
-
使用 Artisan 命令 db:seed 來填充數據庫
php?artisan?db:seed
? ? 相關視頻教程推薦:Laravel?視頻教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END