Laravel 5.4。通话时出错:php artisan db:seed

时间:2017-08-02 16:10:50

标签: laravel

我调用命令: Laravel 5.4 const fun: (Props) => string | number = ({ width = '30em', }) => { return width; } 。控制台打印出这个错误:

  

[照亮\数据库\ QueryException]
  SQLSTATE [HY000]:一般错误:1364字段'电子邮件'没有   默认值(SQL:插入php artisan db:seedusersname,   passwordupdated_at)值(用户,   $ 2y $ 10 $ YAPLstS9Q / Z7vdL82oefieAo4ZToe4xAiNkLF4nygnniKDhWB njwO,   2017-08-02 16:00:42,2017-08-02 16:00:42))

     

[PDOException]
  SQLSTATE [HY000]:一般错误:1364字段'电子邮件'没有   默认值

我尝试在created_ at文件中设置: database.php,但这不起作用。何解决了这个问题?

1 个答案:

答案 0 :(得分:0)

执行以下步骤:

在命令行中执行:php artisan make:seeder UsersTableSeeder。您可以在database\seeds文件夹中看到正在创建的同一文件,现在转到文件UsersTableSeeder.php,您将看到run()方法,编写如下代码:

public function run()
{
    DB::table('users')->insert([
        'name' => str_random(10),
        'email' => str_random(10).'@gmail.com',
        'password' => bcrypt('secret'),
    ]);
}

此后,您可以使用:php artisan db:seed为数据库播种,或者您可以执行:php artisan db:seed --class=UsersTableSeeder只为您的UsersTableSeeder播种,最后一步转到文件DatabaseSeeder.php database/seedrun()函数输入:

public function run()
{
    $this->call(UsersTableSeeder::class);
}

或者您不需要创建UsersTableSeeder,只需复制

即可
DB::table('users')->insert([
    'name' => str_random(10),
    'email' => str_random(10).'@gmail.com',
    'password' => bcrypt('secret'),
]);

进入run()文件

中的DatabaseSeeder.php函数

希望这有帮助。