【发布时间】:2018-02-16 23:38:21
【问题描述】:
我有下面的代码,它是创建新会议的过程的简历。要创建一个新会议,用户需要介绍一些信息,例如会议名称等。用户还需要为会议介绍 1 到 3 个类别。
所以有一个使用 select2 插件的选择元素,因此用户可以选择类别:
<div class="form-row">
<div class="form-group col-lg-6">
<label for="categories">Category</label>
<select id="tag_list" required multiple class="form-control" value="{{ old('categories') }}" name="categories" id="categories">
@foreach($categories as $category)
<option value="{{$category->id}}">{{$category->name}}</option>
@endforeach
</select>
</div>
</div>
然后是 laravel 代码,用于存储会议信息以及会议类别在 Conference_category 表中,因为会议和类别之间存在多对多关系:
public function store(Request $request)
{
$this->validate($request, [
'conference_name' => 'required|max:255|string',
'conference_categories' => 'required|array|between:1,3|integer',
]);
$conference = Conference::create([
'name' => $request->conference_name,
]);
$conference->categories()->attach($request->conference_categories);
}
select2 JS:
$(function() {
$('#tag_list').select2({
placeholder: '',
dropdownAutoWidth: 'true',
width: '100%'
});
});
错误
- 如果用户在 $request 输出中选择了多个类别,则仅显示一个类别的 id
- 提交表单后出现laravel验证错误“会议类别必须是数组。 "
你知道问题出在哪里吗?
【问题讨论】: