我使用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'
];
}
请帮我解决此错误
答案 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];
}