向Laravel 5身份验证添加字段不会插入数据库

时间:2015-02-08 09:26:48

标签: php laravel laravel-5

我一直在玩Laravel 5的开箱即用身份验证。当我向模式添加字段并进行迁移,然后我将它们设为可填充时 - 这些添加的字段不会插入到数据库中,默认字段会被插入但新的字段是空白的。表单已更新,包括这些新字段。

控制台还显示表单数据正在正确发送。

我错过了什么吗?

1 个答案:

答案 0 :(得分:16)

如果查看文件app/Services/Registrar.php,您会在其中找到create函数:

public function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

您需要修改此功能以包含表单字段。它们将在$data数组中传递。

该文件中还有一个validator函数可将验证规则应用于您的字段。

此外,protected $fillable模型文件中有一个app/User.php数组。您需要将自定义字段名称添加到此数组中,以便它们可以进行批量分配。

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

2015年7月9日编辑

这适用于v5.0.1。文件夹结构已经发生了变化。 app/Services/Registrar.php文件中的设置已移至app/Http/Controllers/Auth/AuthController.php