Я хочу проверить, существуют ли страны в странах, и флажок будет отображаться. Значения прямо из базы данных. Я не могу установить значение на входе, так как это массив / несколько значений. Итак, я хочу проверить каждый массив, чтобы он был флажок.
Контроллер:
public function edit($id)
{
$region = Region::find($id);
$countries = Country::all();
$country_region = DB::table('regions')
->select('countries.id', 'countries.name')
->join('country_region', 'regions.id', '=', 'country_region.region_id')
->join('countries', 'country_region.country_id', '=', 'countries.id')
->where('regions.id', '=', $id)
->get();
$items = array(
'region' => $region,
'countries' => $countries,
'country_region' => $country_region,
);
return view('admin.region.edit')->with($items);
}
лезвие
<div class="form-group">
<label>Choose Country</label>
<select id="test" type="checkbox" name="country_id[]">
@foreach ($countries as $item)
<option value="{{$item->id}}" selected @if (in_array($item->id, array_keys($country_region))) checked="checked"
@endif>{{$item->name}}
</option>
@endforeach
</select>
</div>
Как видите, я ставлю php утверждение внутри блейда, чтобы проверить, существует ли $ country_region в странах или нет. Я получил ошибки, относящиеся к массиву, например:
array_keys() expects parameter 1 to be array, object given
База данных:
Таблица регионов страны:
Таблица регионов:
Таблица стран: