请问我是Laravel 5.2的新手,我有一个表单,其中我的一个选择字段(role_id
)填充了我的数据库角色表中的数据,这很好用。返回请求并完美返回数据时:
{
_token: "lKF7Inzy1sGnQ1DwX6yBZCqDjTpgcvqfBqANuInz",
name: "jingle2",
email: "jingle2@lodx.com",
**role_id: "1",**
is_active: "1",
password: "jocoblinks",
file: { }
}
但是在将表单上的数据保存到数据库后,我依次为该字段获取空值。
持久化数据的方法:
public function store(UserRequest $request)
{
//return $request->all();
User::create($request->all());
return redirect('/admin/users');
}
这就是我表单上的字段:
<div class="form-group">
{!! Form::label('role_id', 'Role:') !!}
{!! Form::select('role_id', [0=>'Choose options'] + $roles, null, ['class'=>'form-control']) !!}
</div>
表单上的$roles
来自:
public function create()
{
$roles = Role::lists('name', 'id')->all();
return view('admin.users.create', compact('roles'));
}
请我尝试调试这个,但我真的不明白为什么会发生这种情况。
答案 0 :(得分:0)
您应该将role_id
列添加到fillable
变量中。为此,您需要打开User
模型并将此字段添加到受保护变量$fillable
。您可以在文档中阅读相关内容:https://laravel.com/docs/5.2/eloquent#mass-assignment