注册表单不能保存数据库中的添加字段与Laravel

问题描述:

也许是愚蠢的问题,但我的注册表单有问题。我添加了一个添加字段以保存在数据库users表中,但不会保存此附加textarea值。注册表单不能保存数据库中的添加字段与Laravel

所有其他输入如用户名,密码都会正确保存。这是另外的textarea

<div class="form-group"> 
     <label class="col-md-4 control-label">Bio</label> 
     <div class="col-md-6">         
      <textarea class="form-control" name="bio" id="bio" rows="5"></textarea> 
     </div> 
</div> 

而且AuthController.php存储功能

protected function create(array $data) 
{ 
    //dd($data); 
    return User::create([ 
     'name' => $data['name'], 
     'password' => bcrypt($data['password']), 
     'bio' => $data['bio'], 
    ]); 
} 

当我做dd($data)我看到$数据包含的生物价值。

Column bio与数据库中的text类型关联,因此不会被截断。

可能是什么问题?

+1

您是否在用户模型的可填充数组中添加了bio? – pseudoanime

这是一个Mass Assignment问题。

在你User模型中,你将有定义为public $fillable = [...];

您将需要添加'bio'到阵列,使其能够从User::create([]);功能工作

+0

噢,我真的不知道这一点。我在Laravel很新。为什么我不能直接添加它们,但需要将它们添加到可填充内? – Peter

+0

哦,我现在从文档中明白了。这是出于安全原因 – Peter

+0

是的。它限制了可以输入的内容。 – mbozwood

我添加到模型生物在数组受保护的可填写。 像这样。

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