【发布时间】:2016-10-23 06:11:15
【问题描述】:
场景是区域包含几个城市,我的编辑表单有问题。
问题是我需要在默认选项中将城市归属于区域selected=true 和其他不属于区域的城市。
所以我有两个这样的循环
@foreach($cities as $city)
@foreach($zone->cities as $zone_city)
@if($city->id == $zone_city->id)
<option value="{{ $city->id }}" selected="true">{{ $city->name }}</option>
@endif
@endforeach
//if current city id not yet printed before then
<option value="{{ $city->id }}">{{ $city->name }}</option>
@endforeach
$cities是控制器传递的所有城市,值为1, 2, 3, 4, 5,$zone->cities是属于区域的城市,值为1, 3, 5。
使用上面的代码我得到了这个结果
<option value="1" selected="true">Surabaya</option>
<option value="1">Surabaya</option>
<option value="2">Sidoarjo</option>
<option value="3" selected="true">Malang</option>
<option value="3">Malang</option>
<option value="4" selected="true">Gresik</option>
<option value="4">Gresik</option>
<option value="5">Madura</option>
我期望的结果是
<option value="1" selected="true">Surabaya</option>
<option value="2">Sidoarjo</option>
<option value="3" selected="true">Malang</option>
<option value="4" selected="true">Gresik</option>
<option value="5">Madura</option>
如何修复我的循环代码逻辑?
谢谢,感谢任何帮助。
更新
这是我的编辑控制器
public function zone_edit($id)
{
$zone = Zone::find($id);
$cities = City::all();
return view('backend.admin.pricings.zone_edit', compact('zone', 'cities'));
}
【问题讨论】:
标签: laravel