У меня есть edit.blade.php (Post), где у меня есть несколько селекторов выбора, которые должны показывать все категории (Категория), и одна из которых уже выбрана. После некоторых исследований я обнаружил, что этот метод работает, но он говорит, что in_array () ожидает, что параметр 2 будет массивом, ноль задан
<select class="form-control selectpicker" multiple name="category[]" title="Categoría">
@foreach($categories as $category)
<option value="{{ $category->id }}" {{ (in_array($category, old("category")) ? "selected":"") }} >{{ $category->name }}</option>
@endforeach
</select>
Я отправляю из моего PostController все существующие категории из черты (то есть, категории $) и категории, которые публикуются, находятся в $ post-> Categories.
РЕДАКТИРОВАТЬ: удалось получить то, что я хочу, но теперь я получаю несколько копий значений, любой способ избежать этого?
<select class="form-control selectpicker" multiple name="category[]" title="Categoría">
@foreach ($categories as $category)
@foreach ($post->categories as $postCategory)
@if ($postCategory->id == $category->id)
<option selected value="{{ $category->id }}">{{ $category->name }}</option>
@else
<option value="{{ $category->id }}">{{ $category->name }}</option>
@endif
@endforeach
@endforeach
</select>