【发布时间】:2015-07-02 08:14:26
【问题描述】:
当多选框为空时,返回空值 - 这会在对数据透视表使用同步命令时导致错误。如何让选择框返回一个空白数组 '' 而不是 null?
{!! Form::select('tag_list[]', $tags, '', array('class' => 'select2 form-control', 'multiple')) !!}
我能够解决问题的唯一方法是在同步之前检查 null,即
private function syncTags(Company $company, $tags)
{
if (is_null($tags)) {
$tags = [];
}
$company->tags()->sync($tags);
}
【问题讨论】:
-
一个稍微简单的方法可能只是
$company->tags()->sync($tags ?: []);,虽然它不能完全解决您的问题,但它更短但仍然易于阅读。 -
请注意,这不是 Select2 问题,这是任何
<select multiple>没有选择时会发生的情况。
标签: laravel laravel-5 jquery-select2