我有一个表单,其中包含来自另一个表的选择项。项目列表在表单视图中很好。我遇到的问题是表单中的其他字段更新,除了下拉列表。
我已经检查并确认这些字段都包含在模型中的$ fillable数组中。
当我dd($ myinputVariable)时,它显示所有表单输入的值。
这是我的表单。
{!! Form::model($member, [
'method' => 'PATCH','id'=>'member-regform',
'route' => ['members.update', $member->member_registration_number]
]) !!}
<div class="form-group">
{!! Form::label('constituency_id','Constituency') !!}
{!! Form::select('constituency_id',$constituencies,
array('require','class'=>'form-control'))!!}
</div>
<div class="form-group">
{!! Form::label('ward_id','Ward') !!}
{!! Form::select('ward_id',$wards,
array('require','class'=>'form-control'))!!}
</div>
<div class="form-group pull-right">
{!! Form::submit('Save Changes',
array('class'=>'btn btn-primary')) !!}
</div>
{!! Form::close() !!}
</div>
我的控制器
public function __construct()
{
$this->constituencies = Constituency::where('county_id',8)->pluck('const_name','id');
$this->wards = Ward::pluck('ward','id');
}
public function update(Request $request, $id)
{
//
$member = Member::where('member_registration_number',$id)->first();
$input = $request->all();
$member->fill($input)->save();
Session::flash('message', 'Member successfully updated!');
return redirect()->back();
}
我的模特
protected $fillable = array('constituency_id','ward_id');
选择不同的ward_id或constituency_id后,更新后该值不会从旧版本更改。这个问题困扰了我好几个小时。请帮助。
答案 0 :(得分:0)
第三个元素应该是选定的值,选项是第四个:
{!! Form::select('ward_id', $wards, null, ['require', 'class' => 'form-control']) !!}