laravel5中的MassAssignmentException

时间:2015-07-27 11:09:32

标签: php laravel-5 eloquent

我使用laravel5 ...并希望将数据存储在数据库中,当按下提交时出现此错误

> MassAssignmentException in C:\xampp\htdocs\marriage\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php line 417: _token

我的控制器代码

public function store(Request $request)
{
    $custom =Request::all();
    Custom::create($custom);

    return redirect('custom');

}

模型代码

class custom_table extends Model
{
  protected $fillable=[
    'skin_color',
    'cast',
    'residence',
    'family_members',
    'hieght',
    'created_at',
    'updated_at'
];

}

请帮我解决此错误

2 个答案:

答案 0 :(得分:2)

您遇到了该错误,因为您的请求正在传递“_token”属性,并且它不是可分配的。

您可以使用except方法将其排除,例如:

public function store(Request $request)
{
    $custom = Request::except('_token'); // Exclude _token attribute
    Custom::create($custom);

    return redirect('custom');

}

答案 1 :(得分:0)

您需要告诉laravel表单可以更新哪些字段,否则表单中的所有数据都将用于更新记录_token_method

在你的模特中:

class Cost extends Model
{
  /**
   * The attributes that are mass assignable.
   *
   * @var array
   */
  protected $fillable = ['canbe', 'updated', 'byform];
}