Select Laravel 5-处理编辑页面上的空选择输入

Select Laravel 5-处理编辑页面上的空选择输入,select,laravel-5,Select,Laravel 5,在create函数中,我向视图传递一个用户列表,然后显示该列表。但是,我将其更改为以下内容 <select class="internalWork" name="internalWork"> <option value=""></option> @foreach($users as $user) <option value="{{ $user->userName }}">{{ $user->userNam

在create函数中,我向视图传递一个用户列表,然后显示该列表。但是,我将其更改为以下内容

<select class="internalWork" name="internalWork">
    <option value=""></option>
    @foreach($users as $user)
        <option value="{{ $user->userName }}">{{ $user->userName }}</option>
    @endforeach
</select>
<div class="form-group">
    {!! Form::label('internalWork', 'Internal work for:', array('class' => 'col-sm-5 control-label red')) !!}
    <div class="col-sm-7">
        {!! Form::select('internalWork', $users, null, ['class' => 'internalWork']) !!}
    </div>
</div>
然后我将其传递到我的编辑视图。在我的编辑视图中,我有以下内容

<select class="internalWork" name="internalWork">
    <option value=""></option>
    @foreach($users as $user)
        <option value="{{ $user->userName }}">{{ $user->userName }}</option>
    @endforeach
</select>
<div class="form-group">
    {!! Form::label('internalWork', 'Internal work for:', array('class' => 'col-sm-5 control-label red')) !!}
    <div class="col-sm-7">
        {!! Form::select('internalWork', $users, null, ['class' => 'internalWork']) !!}
    </div>
</div>

{!!Form::label('internalWork','internalWork for:',array('class'=>'col-sm-5控件标签红色'))
{!!Form::select('internalWork',$users,null,['class'=>'internalWork'])
如果我在“创建”页面中选择了一个用户,那么当我转到“编辑”页面时,默认情况下会选择该用户。但是,如果我没有在“创建”中选择用户,则默认情况下,在“编辑”页面上会显示列表中的第一个用户

如果数据库值为null,如何使其显示空输入

谢谢


我认为问题在于,尽管您在create视图中提供了一个空选项,但在edit视图中没有这样做

如果在编辑函数中,按如下方式填充数组:

$users=[''=>'']+User::list('userName','userName')

然后,我认为如果
userName
为空,将选择empty选项。这实际上是将空对连接到传递给视图的
$users
数组的开头

您也可以考虑以相同的方式构建CREATE视图——使用上面的代码在您的CREATE方法中生成<代码> $UsAs/COD>数组,然后在视图中使用表单外观。p> 我发现这对于使用

Form::select()
非常有用:

array_unshift($users, "There are no users") // Prepend null value to $users
...
// Form::select(..etc