我在表单字段中使用select。数据插入正确,但只显示ID而不是文本

时间:2015-06-06 09:54:54

标签: laravel select

创建页面

<div class="form-group">
        <label><b>STATUS</b></label>
        {!! Form::select('status', ['Draft','Published']) !!}
</div>

索引页

@foreach($sliders as $slider)
      <tr>
          <td>{!! $slider->id !!}</a></td>

           <td>{!! $slider->status !!}</td>    

@endforeach

控制器

public function store(Slider $slider,CreateSliderRequest $request)
{
 // $slider=$slider->lists('name','id');
    $slider = $slider->create($request->all());       
    Session::flash('message', 'The photo was successfully added!.');
    Session::flash('flash_type', 'alert-success');
    return redirect('sliders');

}

在索引页面,数据显示在文本下拉列表中,插入后导航到索引页面,在索引页面中,它显示状态为0而不是显示草稿或已发布。

数据存储为id和id显示,我想显示文本而不是id .. 有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

您需要决定如何构建状态选项。如果您的数组不是关联数组,则选项值将是索引0,1,...,如:

<select name="status">
    <option value="0">Draft</option>
    <option value="1">Published</option>
</select>

在您的情况下,我假设您要存储'Draft' or 'Published,所以您应该这样做:

{!! Form::select('status', ['Draft' => 'Draft', 'Published' => 'Published']) !!}

这样生成的HTML就是

<select name="status">
    <option value="Draft">Draft</option>
    <option value="Published">Published</option>
</select>