zoukankan      html  css  js  c++  java
  • laravel faker,种子文件,数据工厂,数据填充

    1、创建填充文件

    php artisan make:seeder UserSeeder

    2、修改填充文件

    /**
         *管理员 数据填充
         */
        public function run()
        {
            //清空数据表
            User::truncate();
    
            //添加模拟数据 100个用户
            factory(User::class,100)->create();
            // 规定id=1的用户名为admin
            User::where('id',1)->update(['username'=>'admin']);
    
        }

    3、修改模型

    class User extends Model
    {
        //守卫
        //拒绝添加的字段
        protected $guarded = [];
    }

    4、生成一个数据工厂

    php artisan make:factory UserFactory -m Model/User

    5、修改数据工厂生成数据的格式

    $factory->define(User::class, function (Faker $faker) {
        return [
            'username'=>$faker->userName,
            'truename'=>$faker->name(),
            'password'=>bcrypt('admin'),
            'email'=>$faker->email,
            'phone'=>$faker->phoneNumber,
            'sex'=>['先生','女士'][rand(0,1)]
        ];
    });

    6、修改DatabaseSeeder.php的总调用

    class DatabaseSeeder extends Seeder
    {
        /**
         * 做数据填充用的
         */
        public function run()
        {
             //调用生成管理员的数据表
             $this->call(UserSeeder::class);
        }
    }

    7、执行数据填充

    php artisan db:seed
    
    注:迁移文件中字段可能设置有点短,可能填充不成功,此时,就需要修改一下数据字段长度,然后执行
    php artisan migrate:refresh --seed
    php artisan migrate:refresh 是重新执行迁移文件 加上--seed 是执行迁移文件并执行数据填充
  • 相关阅读:
    用asp.net(C#)写的论坛
    javascript:window.history.go(1)什么意思啊?
    5个有趣的 JavaScript 代码片段
    marquee属性的使用说明
    flash网站欣赏
    获取验证码程序
    ACCESS中执行sql语句
    靠谱的工程师
    mysql变量(用户+系统)
    理解进程和线程
  • 原文地址:https://www.cnblogs.com/zqblog1314/p/13345223.html
Copyright © 2011-2022 走看看