我使用基本注册表,但我想添加一个多项选择,用户可以拥有多个技能并在注册时选择它们。 我的问题是,当我选择倍数值时,Laravel只取最后一个,所以我在网上搜索解决方案,他们说在我的类名后面添加[],所以我就是这样做的:
<div class="form-group row">
<div class="col-md-6">
<?php $competences = AppCompetence::all(); ?>
<select name="competences[]" multiple="" class="form-control">
<option value="" selected disabled style="display:none">choose your school</option>
@foreach ($competences as $competence)
<option value="{{ $competence->id }}">{{ $competence->name }}</option>
@endforeach
</select>
</div>
</div>
但是现在,当我提交表单时,页面重新加载并保留在注册表单中,并且用户没有注册......我不知道该怎么办,你们中有解决方案吗?
这是我如何检查我的注册控制器中的能力
$competences = $data['competences'];
foreach ($competences as $comp){
$user->competences()->save(Competence::find($comp));
}
在刀片中使用multiple="multiple"
或仅multiple
.php:
<div class="form-group row">
<div class="col-md-6">
<?php $competences = AppCompetence::all(); ?>
<select name="competences[]" class="form-control" multiple>
<option value="" selected disabled style="display:none">choose your school</option>
@foreach ($competences as $competence)
<option value="{{ $competence->id }}">{{ $competence->name }}</option>
@endforeach
</select>
</div>
</div>
然后在控制器中,验证您是否确实通过打印$data
以数组的形式获取数据
return $data;