这可以是如此简单,但我几乎被烧毁了,我的大脑已经消失了。我在users表中添加了一列以及其他列:country
。在我的用户模型中,我为country
和其他人设置了受保护的可填写集。
我的表单是这样的:
<div class="form-group">
{!! Form::label('country', 'Country') !!}
{!! Form::select('country', ['USA', 'UK'], ['class' => 'form-control']) !!}
</div>
在我疯了之前,因为我添加到users表中的其他列工作了,所以我发疯了吗?我应该把它称为一天,显然应该有效。请帮忙。
控制器:
public function update(@company_name)
{
$user = User::whereCompanyName($company_name)->firstOrFail();
$user->fill(Input::all());
$user->save();
flash('You have successfully edited your profile');
return redirect('/');
}
在我的迁移中:
$table->string('country')->unique()->nullable();
答案 0 :(得分:1)
Form :: select()调用的第三个参数应该是select字段的默认值:
{{ Form::select('country', ['usa' => 'USA', Input::old('country') => 'UK'], 'uk', ['class' => 'form-control']) }}
第二个参数是一个关联数组,其中键(第一个条目)表示选项元素的值属性,第二个条目表示要显示的文本。第三个参数采用您要默认的项目的第一个条目(或关联数组中的键)。
如果您希望Input :: old('country')在返回时显示您之前的选择,则需要将控制器的return语句更改为:
return Redirect::to('/')->withInput()