日期:2017-02-28 阅读:1313
dmandwp系统 - wordpress系统和DM系统区块建站>>
https://laravel-china.org/docs/5.4/seeding
填充,就是给数据库 加一些测试数据。
所有的 seed 类都存放在 database/seeds 目录
编写 Seeders:
php artisan make:seeder UsersTableSeeder
-------
DatabaseSeeder:
public function run()
{
DB::table('users')->insert([
'name' => str_random(10),
'email' => str_random(10).'@gmail.com',
'password' => bcrypt('secret'),
]);
}
如果上面代码在UsersTableSeeder,
则要通过$this->call(UsersTableSeeder::class);来调用。
--------------
调用其他 Seeders
DatabaseSeeder:
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(PostsTableSeeder::class);
$this->call(CommentsTableSeeder::class);
}
使用模型工厂#
https://laravel-china.org/docs/5.4/database-testing#writing-factories
如下所示,我们来创建 50 个用户并为每个用户创建关联:
/**
* 运行数据库填充
*
* @return void
*/
public function run()
{
factory(App\User::class, 50)->create()->each(function ($u) {
$u->posts()->save(factory(App\Post::class)->make());
});
}
-------------
---------
运行 Seeders#
php artisan db:seed
php artisan migrate:refresh --seed // 彻底重构数据库时
php artisan db:seed --class=UsersTableSeeder //单独运行一个特定的 seeder 类