Похоже, вы пропустили лишний = в своем операторе if. !==
вместо !=
.
Кроме того, нет синтаксиса для объявления переменной внутри шаблона блейда, и это не рекомендуется. {{ $stuff }}
- это синтаксис для отображения.
В вашем контроллере вы должны объявить переменные для $selected
и построить с ними представление.
Вот более правильная версия вашего шаблона с использованием синтаксиса blade.
<select class="form-control" id="region_country_id" name="region_country_id[]" multiple style="height: 10%">
@foreach($countries as $country)
<option value="{{$country->id}}" {{ in_array($country->id, $cselected) ? 'selected' : '' }}>
{{$country->name}}
</option>
@endforeach
</select>
<select class="form-control" id="region_id" name="region_id[]" style="margin-top: 10px;height: 10%" multiple>
<option value="">All region</option>
@if(session()->get('branch_access') !== 1))
@foreach($regions as $region)
<option value="{{$region->id}}" {{ in_array($region->id, $rselected) ? 'selected' : '' }}>
{{$region->region}}
</option>
@endforeach
@endif
</select>
И ваш контроллер:
<?php
public function getEdit($productId) {
$country_id = $product->region_country_id;
$regions = Region::where([
['country_id', ,'=', $country_id],
['activation', '=', 1]
])->get();
$countries = Country::getActiveCountry();
return view('product.edit', [
'regions' => $regions,
'countries' => $countries,
'cselected' => explode(',', $product->region_country_id),
'rselected' => explode(',', $product->region_id),
]);
}