Laravel 动态 select 框 return 索引而不是集合中的值

Laravel dynamic select box return index instead of value from collection

我正在尝试制作一个 select 框,其中 return 来自 $collection 的值,但它给我的是 selection 的索引而不是值。

screenshot:output of my code

screenshot:browser source code view

<div class="form-group">
   {!! Form::label('Supervisor') !!}<br />
   {!! Form::select('supervisor_id', $lecturers, null, 
    array('placeholder' => '----------------','class' => 'form-control')) !!}
</div>

当它在浏览器源代码视图中显示时:

<option value="">----------------</option>
<option value="0">1111111111</option>
<option value="1">1212121212</option>

任何知道 laravel 表单语法的人都可以使这个动态表单给出 $lecturers 的价值,请帮助。

好的,我们开始。

首先,在您的控制器中,当您获取讲师列表时,请确保您只选择名称和 ID...按此顺序:

$lecturers = Lecturer::pluck('name', 'id');

那么在你看来:

{{Form::select('lecturer_id', $lecturers, null, ['class' => 'form-control'])}}

就这些了。

您所采摘的讲师数组将分为"id"和"values",因此采摘的顺序很重要。

现在,在您的表单源中,您会看到选项值将是讲师 ID,例如“1、2、3”等,而向用户显示的 "selectable" 选项将是讲师的姓名.

像这样:

<select class="form-control" name="lecturers_id"><option value="1">John Doe</option><option value="2">Jane Doe</option></select>

试试这些,让我们知道你的结果。