I'm new in Laravel and it is my first question. I have 3 tables:
categories: id, name (at the moment 2 items)
variants: id, name
category_variant: id, category_id, variant_id; <-- Every variant has 1 or 2 categories
In the VariantController I have following code:
public function edit($id)
{
$variant = Variant::where('id', $id)->with('categories')->first();
$categories = Category::all();
return view('admin.variant.edit', compact('variant', 'categories'));
}
In the edit.blade.php I have following html:
@foreach ($categories as $key=>$category)
<div class="form-group form-float">
@if (isset($variant->categories[$key]->pivot->category_id)) <-- I think here is the problem
<input type="checkbox" id="wb" class="filled-in" name="wb" value="{{$category->id}}" {{ $category->id == $variant->categories[$key]->pivot->category_id ? 'checked' : ''}} >
<label for="wb">{{ $category->name}}</label>
@else
<input type="checkbox" id="wb" class="filled-in" name="wb" value="{{$category->id}}">
<label for="wb">{{ $category->name}}</label>
@endif
</div>
@endforeach
I want to know which category was checked in the checkbox. If the variant has all 2 categories everthing is ok but if the user has chosen only one category I get an error
Undefined offset: 1 (View: /shui/resources/views/admin/variant/edit.blade.php)
How can I solve this problem? Thanks in advance Dimi
</div>