我有一个问题表,其中包含不同输入类型的各种问题。我的播种机中的格式是这样的
DB::table('questions')->insert([
'name' => 'name',
'type' => 'text',
'text' => 'Name',
]);
DB::table('questions')->insert([
'name' => 'title',
'type' => 'select',
'text' => 'Title',
'values' => serialize(['Mr', 'Mrs', 'Ms']),
'class' => 'selectpicker'
]);
所以你可以看到上面我有一个文本输入和一个select,它有序列化的值列表。现在在我的控制器中,我得到了问题并将其传递给我。
在我看来,我正在做类似以下的事情
@foreach($questions as $q)
<div class="col-xs-12">
<input type="{{ $q["type"] }}"
class="form-control {{ $q["class"] }}"
id="{{ $q["name"] }}"
name="questions[{{ $q["id"] }}]"
>
</div>
@endforeach
我遇到困难的地方是选择输入。我如何显示我的选择及其选项(值)?
由于
答案 0 :(得分:1)
要创建列表,您可以检查foreach中$q
的类型。循环中的代码如下所示:
@if( $q['type'] === 'select' )
<select name="questions[{{ $q['id'] }}]">
@foreach( unserialize($q['values']) as $v )
<option value="{{ $v }}">{{ $v }}</option>
@endforeach
</select>
@endif