【发布时间】:2018-05-18 17:42:56
【问题描述】:
我目前正在处理我的表单中的下拉菜单,它正在返回索引值,例如选择框时为 0,1,2。我需要它在框中返回文字文本,例如'服务器一','服务器二'。我正在使用 laravel 集体表格。附上表格的代码sn-p。任何帮助将非常感激!变量 $statuses 是数据库中所有服务器的列表。
@extends('layouts.app')
@section('content')
<h1></h1>
<h1>Edit Incident</h1>
{!! Form::open(['action' => ['IncidentsController@update', $incident->id], 'method' =>'POST']) !!}
<div class="form-group">
{{Form::label('title','Title')}}
{{Form::text('title',$incident->title,['class' => 'form-control', 'placeholder' => 'Title'])}}
{{Form::label('body','Body')}}
{{Form::textarea('body',$incident->body,['id' => 'article-ckeditor','class' => 'form-control', 'placeholder' => 'Body text'])}}
{{Form::label('status','Server Status:')}}
<br>
{{Form::label('status','Resolved:')}}
{{Form::radio('status', 'Resolved' , false) }}
<br>
{{Form::label('status','Unresolved:')}}
{{Form::radio('status', 'Unresolved' , true) }}
<br>
{{ Form::label('server', 'Server:') }}
<br/>
{{Form::select('server', $statuses),['name' => "server",'class' => 'form-control']}}
</div>
{{Form::hidden('_method', 'PUT')}}
{{Form::submit('Submit', ['class' => 'btn btn-primary'])}}
{!! Form::close() !!}
dd($server)
@endsection
创建事件:
public function createIncident(){
$statuses = Status::pluck('server');
dd($statuses);
return view('createIncident', ['statuses' => $statuses]);
}
【问题讨论】:
-
我不知道 laravel,但我猜它使用数组的键作为选项的值?也许使用服务器的名称作为
$statuses数组的键可能会解决它? -
如果您想继续使用
Form::,您需要提供$statuses = ['server one' => 'server one']; -
@Kyslik 我必须为每台服务器都这样做吗?问的原因是因为随着时间的推移会增加很多服务器
-
你需要写一段代码来生成数组。
-
$statuses 是一个数组,我将使用方法调用中的代码以及 die 和 dump 的结果来更新问题
标签: php mysql laravel visual-studio-code