如何在Laravel 5.6的默认注册表单中添加自定义字段?

时间:2018-04-20 06:33:43

标签: php laravel

在我的 Laravel 5.6 应用程序之一中,我需要在默认注册表单中添加一些字段。

所以我在默认注册表 registration.blade.php 中只添加了一个字段来测试[phone_no],还添加 phone_no RegisterController ,但是当我点击注册按钮时,它会显示以下错误:

"SQLSTATE[HY000]: General error: 1364 Field 'phone_no' doesn't have a default value (SQL: insert into `users` (`name`, `email`, `password`, `updated_at`, `created_at`) values (Jahid Hossain, jahid.cse18@gmail.com, $2y$10$wYg6jAihCz.v09PUXngF/ekjNvZgxb4Rq4GI3i.glfzXt37oGnbSO, 2018-04-20 06:24:27, 2018-04-20 06:24:27))

所以这是迁移文件代码:

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->string('status')->default('active');
        $table->string('created_by')->default('SYSTEM');
        $table->string('modified_by');
        $table->string('phone_no');
        $table->rememberToken();
        $table->timestamps();
    });
}

以下是 RegisterController 的代码:

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'created_by' => $data['email'],
        'phone_no'  => $data['phone_no'],
    ]);
}

所以我觉得我错过了什么。任何人都可以告诉我如何在 Laravel 5.6 默认注册表单中添加一个/多个字段并成功保存这些字段... - 谢谢

2 个答案:

答案 0 :(得分:3)

请在下方添加自定义字段。

在您的模型中,在模型中的protected $fillable=['name', 'email', 'password', 'created_by', 'phone_no']中添加自定义字段

答案 1 :(得分:1)

protected $fillable=['name', 'email', 'password', 'created_by', 'phone_no','address'] in your model

还将这些字段添加到您的迁移中

电话号码默认表示您正在发送电话号码。空白