factory 进行 seeder 填充,执行命令 PHP artisan migrate:refresh --seed 报如下错误,请问如何解决?

vagrant@homestead:~/Code/Laravel$ php artisan migrate:refresh --seed
Rolling back: 2018_03_21_082348_add_is_admin_to_users_table
Rolled back: 2018_03_21_082348_add_is_admin_to_users_table
Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back: 2014_10_12_100000_create_password_resets_table
Rolling back: 2014_10_12_000000_create_users_table
Rolled back: 2014_10_12_000000_create_users_table

Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
Migrating: 2018_03_21_082348_add_is_admin_to_users_table
Migrated: 2018_03_21_082348_add_is_admin_to_users_table
Seeding: UsersTableSeeder****

In Connection.php line 664:

SQLSTATE[HY000]: General error: 1364 Field 'password' doesn't have a defaul t value (SQL: insert into users (created_at, email, name, `updated_ at`) values (2004-11-30 02:26:54, kasey.padberg@example.com, Newton Jerde, 2004-11-30 02:26:54), (2012-12-09 14:53:26, trevor.stoltenberg@example.net, Mr. Jerrold Windler II, 2012-12-09 14:53:26), (1992-06-01 23:12:39, josefa .brekke@example.net, Jordon Larson, 1992-06-01 23:12:39), (1997-09-15 04:08 41, schiller.reanna@example.org, Ms. Mathilde Heidenreich PhD, 1997-09-15
04:08:41), (2014-08-14 14:48:14, kailey.witting@example.net, Laura Funk, 20
14-08-14 14:48:14), (2012-10-05 12:52:16, howell.kody@example.net, Nikita K
emmer, 2012-10-05 12:52:16), (2000-02-22 10:34:12, kiley.padberg@example.or
g, Felton Lueilwitz, 2000-02-22 10:34:12), (1981-01-08 03:46:52, bria.kreig
er@example.net, Mrs. Fabiola McLaughlin, 1981-01-08 03:46:52), (1995-05-07
05:17:18, ratke.rhiannon@example.com, Melba Huels MD, 1995-05-07 05:17:18),
(1989-12-15 13:45:03, cole.brown@example.com, Caterina Paucek Sr., 1989-12
-15 13:45:03), (1988-05-04 01:32:34, fred.stokes@example.com, Elsa Wolff, 1
988-05-04 01:32:34), (2014-04-28 14:14:40, murphy.adolphus@example.org, Cor
delia Bernhard, 2014-04-28 14:14:40), (1992-12-26 22:33:26, lynch.jaren@exa
mple.org, Jordyn Hoppe, 1992-12-26 22:33:26), (1973-08-19 01:28:49, obeatty
@example.com, Vilma Dickinson, 1973-08-19 01:28:49), (1987-08-31 08:56:34,
williamson.retha@example.com, Jaylan Larkin DDS, 1987-08-31 08:56:34), (197
5-09-22 14:27:53, akohler@example.com, Rubie Turcotte, 1975-09-22 14:27:53)
, (1974-10-19 09:34:25, bernita92@example.com, Dejuan Weimann II, 1974-10-1
9 09:34:25), (1991-06-02 00:39:59, zena52@example.net, Rossie O'Connell, 19
91-06-02 00:39:59), (2016-06-10 10:41:53, ehickle@example.net, Buster Funk
DDS, 2016-06-10 10:41:53), (2008-09-20 13:45:21, frenner@example.com, Miss
Arvilla Larson MD, 2008-09-20 13:45:21), (1994-10-22 07:35:15, arden74@exam
ple.com, Katheryn Heller Sr., 1994-10-22 07:35:15), (2014-11-28 17:30:01, a
nsel.kovacek@example.com, Dr. Earl Tremblay Jr., 2014-11-28 17:30:01), (200
2-09-10 06:57:47, hobart99@example.com, Prof. Lydia Leffler, 2002-09-10 06:
57:47), (1991-09-03 07:36:56, armani.keebler@example.com, Akeem Hills, 1991
-09-03 07:36:56), (1983-05-30 12:46:23, twatsica@example.org, Darrel Ryan,
1983-05-30 12:46:23), (1992-04-07 03:33:36, adella.wuckert@example.com, Bel
la Schultz, 1992-04-07 03:33:36), (2007-12-02 19:29:19, pacocha.alena@examp
le.org, Regan Schimmel IV, 2007-12-02 19:29:19), (2001-09-24 04:14:58, mccu
llough.emely@example.net, Dr. Erling Batz MD, 2001-09-24 04:14:58), (1977-0
6-01 00:28:20, monserrat.mckenzie@example.org, Vito Rowe, 1977-06-01 00:28:
20), (2004-10-11 01:00:00, xhoppe@example.net, Sean Cassin, 2004-10-11 01:0
0:00), (1983-05-31 08:36:50, mina.krajcik@example.com, Dominique Davis, 198
3-05-31 08:36:50), (1986-10-05 21:00:56, dorcas.cummerata@example.net, Wilm
a Miller, 1986-10-05 21:00:56), (1999-09-09 01:07:32, travis56@example.org,
Angelita Corwin, 1999-09-09 01:07:32), (2005-10-03 14:31:08, lesly68@examp
le.org, Dr. Dagmar Carter, 2005-10-03 14:31:08), (1970-01-22 23:38:17, runo
lfsson.myrtis@example.com, Freeman Steuber, 1970-01-22 23:38:17), (1996-06-
30 15:02:05, sawayn.dorcas@example.net, Madonna Romaguera, 1996-06-30 15:02 05), (2002-05-11 03:28:52, bernardo78@example.org, Felicia Davis, 2002-05-
11 03:28:52), (2017-08-21 08:55:09, jameson.mccullough@example.com, Arlo Ha
lvorson, 2017-08-21 08:55:09), (1972-05-02 08:22:43, ericka21@example.org,
Britney Waters, 1972-05-02 08:22:43), (1998-08-29 08:17:15, shaina.lockman@
example.com, Nigel Hahn, 1998-08-29 08:17:15), (1982-05-16 18:13:15, ihelle
r@example.net, Prof. Amelia Bauch, 1982-05-16 18:13:15), (2002-07-11 06:52:
56, oschimmel@example.org, Mr. Vito Dickens Jr., 2002-07-11 06:52:56), (200
5-05-07 17:42:28, wisoky.bella@example.net, Dwight Erdman, 2005-05-07 17:42 28), (1990-02-12 02:32:59, mitchell.ariane@example.org, Sylvester Stroman,
1990-02-12 02:32:59), (1972-08-12 13:04:35, dallas53@example.net, Reggie S
kiles, 1972-08-12 13:04:35), (2017-10-09 05:29:44, zelda.cormier@example.ne
t, Mr. Graham Fay, 2017-10-09 05:29:44), (1982-03-11 13:26:05, jed64@exampl
e.org, Raheem Streich MD, 1982-03-11 13:26:05), (1987-05-11 03:52:04, karia
ne.bergstrom@example.com, Maia Stamm, 1987-05-11 03:52:04), (2016-03-17 18:
55:01, hills.clifton@example.net, Maryjane Stokes Sr., 2016-03-17 18:55:01)
, (2011-07-19 19:51:06, conn.camren@example.com, Brayan Walsh MD, 2011-07-1
9 19:51:06))

**In Connection.php line 458:

SQLSTATE[HY000]: General error: 1364 Field 'password' doesn't have a defaul
t value **

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 10
No_Panic

password字段没有赋值,也没有给默认值.你是用model创建的吗

6年前 评论

按照教程创建的  
$factory->define(App\Models\User::class, function (Faker $faker) {

$date_time = $faker->date . ' ' . $faker->time;
static $password;

return [
    'name' => $faker->name,
    'email' => $faker->safeEmail,
    'is_admin' => false,
    'password' => $password ?: $password = bcrypt('password'),
    'remember_token' => str_random(10),
    'created_at' => $date_time,
    'updated_at' => $date_time,
];

});

class UsersTableSeeder extends Seeder
{
/**

  • Run the database seeds.
  • @return void
    */
    public function run()
    {
    $users = factory(User::class)->times(50)->make();
    User::insert($users->toArray());

     $user = User::find(1);
     $user->name = 'Aufree';
     $user->email = 'aufree@yousails.com';
     $user->password = bcrypt('password');
     $user->is_admin = true;
     $user->save();

    }
    }

6年前 评论

database/factories/UserFactory.php

<?php

use Faker\Generator as Faker;
use Carbon\Carbon;

$factory->define(App\Models\User::class, function (Faker $faker) {
    $now = Carbon::now()->toDateTimeString();
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
        'remember_token' => str_random(10),
        'introduction' => $faker->sentence(),
        'created_at' => $now,
        'updated_at' => $now,
    ];
});

使用上面代码替换对应文件吧

6年前 评论

谢谢,我再看看原因,还是会报同样的错误

6年前 评论

SQLSTATE[HY000]: General error: 1364 Field 'password' doesn't have a default value (SQL: insert into users (created_at, email, name, updated_at) values (2018-03-21 09:35:55, balistreri.noe@
example.com, Prof. Makenzie Nikolaus V, 2018-03-21 09:35:55))

很奇怪, password 填充的时候,字段和值都没有填充进去

6年前 评论
No_Panic

User model的$fillable有没有password

6年前 评论

class User extends Authenticatable
{
use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $table = 'users';

protected $fillable = [
    'name', 'email', 'password',
];

是有的,算是卡在这个地方了 - -!

换了个局数据还是报相同的错误

6年前 评论
No_Panic

你看一下自己的users表的migration或者是数据库里users表的password的字段有没有

6年前 评论

有的
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});

很感谢你,百忙之中,还帮忙解决问题,谢谢

6年前 评论

@llh 最后还是在users表 password 加了个默认密码,解决了,只能凑合来了,实在想不明白哪里有问题。。。
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password')->default('z123456');
$table->rememberToken();
$table->timestamps();
});
}

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!