【发布时间】:2019-02-04 14:35:00
【问题描述】:
我正在尝试将数据库中的所有选定值显示到多个 select2。所以当我想添加其他事件时,我可以添加它们。
Offer tables:
id:1
title: event1
events: 17,6,8
列事件具有所有选定事件的 ID。
这就是我的工作:
public function edit($id)
{
$offer=Offers::find($id);
$events=Events::all();
$explode= explode(',', $offer->events);
return view('edit',['offer'=>$offer,'events'=>$events,'explode'=>$explode]);
}
刀片:
<div class="form-group m-form__group row">
<label class="col-xl-3 col-lg-3 col-form-label">****</label>
<div class="col-xl-9 col-lg-9">
<select class="form-control m-select2" id="m_select2_3" name="events[]" multiple="multiple">
<optgroup label="Events">
@foreach($events as $event)
@foreach($explode as $item)
<option value="{{$event->id}}" {{ $item == $event->id ? 'selected="selected"' : ''}}>{{$event->title}}</option>
@endforeach
@endforeach
</optgroup>
</select>
</div>
</div>
所以当我选择该值时,它会显示三次重复值
【问题讨论】:
-
你能把你的控制器代码也贴出来吗?
-
是
offer到events一对多的关系吗?你从你的foreach得到重复,有多个eventsbelongs到一个offer。 -
去掉
@foreach $explode,使用in_array($event->id,$explode); -
@davidloper 谢谢
标签: php laravel jquery-select2