Laravel 使用 Bcrypt 密码创建第一条记录

Laravel create first record with Bcrypt password

我可以通过迁移在数据库中创建第一条记录吗,在 password 列中它已经被 bcrypted

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email');
        $table->string('level');
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });

    User::firstOrCreate([
        'name' => 'admin',
        'email' => 'admin@app.com',
        'level' => 'Administrator',
        'password' => 'password'
    ]);
}

代码有效,但 password 未加密,有什么建议吗?

这样保存密码:

    'password' => Hash::make('password');

或者你可以这样使用:

'password' => bcrypt('password');

为了遵循该模式,最好在数据库中创建第一条记录而不是在迁移中。