codingphase/seeder
Composer 安装命令:
composer require codingphase/seeder
包简介
Easy seeding database for Laravel Applications.
README 文档
README
Easy seeding database for Laravel Applications
Installation
Step 1: Install Through Composer
composer require codingphase/seeder
Step 2: Register Service Provider
Add your new provider to the providers array of config/app.php:
'providers' => [ // ... CodingPhase\Seeder\SeederServiceProvider::class, // ... ],
Publish config
php artisan vendor:publish --provider="CodingPhase\Seeder\SeederServiceProvider"
Usage
Extend your seeders with ModelSeeder:
use CodingPhase\Seeder\ModelSeeder; class UsersTableSeeder extends ModelSeeder { ... }
Implement run method:
/** * Run the database seeds. * * @return void */ public function run { //Example $users = $this->seedModel(\App\User::class, function ($user) { $user->save(); }); }
##API:
setAmount(int)
Default amount of seeding resources that are seeded are stored in config. If you want to seed another value of resources, you can.
$this->setAmount(30)->seedModel(\App\User::class, function ($user) { $user->save(); });
setHeader(string)
Define header before progress bar in output (default is model namespace)
$this->setHeader("Awesome Users")->seedModel(\App\User::class, function ($user) { $user->save(); });
setCompact(bool)
Default true. Define style of Progress Bar.
$this->setAmount(30)->seedModel(\App\User::class, function ($user) { $user->save(); });
useData(array)
Set data that will be used to fill resources. It overrides model factory data.
$data = [ 1 => [ 'name' => 'test', 'email' => 'test@test.com' ], 25 => [ 'name' => 'example' 'email' => 'example@example.com', ], ]; $this->useData($data)->seedModel(\App\User::class, function ($user) { $user->save(); });
- first user will have name
testand emailtest@test.com - 25th user will have name
exampleand emailexample@example.com
##Practical Examples
use CodingPhase\Seeder\ModelSeeder; class UsersTableSeeder extends ModelSeeder { /** * Run the database seeds. * * @return void */ public function run { $adminsData = [ 1 => [ 'name' => 'test', 'email' => 'test@test.com', 'password' => bcrypt('123456') ], 4 => [ 'name' => 'test4', 'email' => 'test4@test.com', 'password' => bcrypt('654321') ], ]; $admins = $this->useData($adminsData) ->setAmount(5) ->setHeader("Seeding Admins") ->setCompact(false) ->seedModel(\App\User::class, function ($user) { $user->admin = 1; $user->save(); }); $users = $this->setHeader("Seeding Regular Users") ->seedModel(\App\User::class, function ($user) { $user->save(); }); } }
统计信息
- 总下载量: 5.02k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-02-17