laravel

laravel 数据填充

日期: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 类

 


    

<<点击返回