Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.08.2016 13:46:43

Testuser123

Проблема при обновлении m2m

Всем привет. Уже третий час мучаюсь. Есть товары,шаблон характеристик, характеристики,  значения характеристик.
характеристики относятся к шаблону через поле "template_id" и имеют значения характеристик (m2m)
В пивотной таблице ид товара и значения характеристики (product_specification)
Не получается сделать так, что бы чекбоксы ид которых в пивотной таблице (product_specification) были отмечены.

     public function edit($id)
    {
        $product = Product::find($id);
        $category = Category::orderBy('name', 'id')->lists('name', 'id')->all();
        $brand = Brand::orderBy('name', 'id')->lists('name', 'id')->all();
        $specifications = Specification::with('values')->where('template_id', $product->template_id)->get();
        return view('backend.pages.product.edit', compact('product', 'category', 'brand', 'specifications'));
    }

То есть в $specifications все характеристики которые относятся к одному шаблону.  примеру шаблон "электроника".

// view
@foreach($specifications as $specification)
    <tr>
        <td>{{ $specification->name }}</td>
        <td>
            @foreach($specification->values as $value)
                <div class='col-xs-6'>
                    <div class='checkbox'>
                        <label>
                            {!! Form::checkbox('spec[]', $value->id, array_pluck($specifications->values(), 'id')) !!}
                            {{ $value->name }}
                        </label>
                        </div>
                    </div>
            @endforeach
        </td>
    </tr>
@endforeach

Сейчас с этим кодом отмечены все характеристики,даже те которых нет в таблице product_specification
s_1470048303_1746857_be08dcc23e.png
пробовал с функцией in_array(), тоже не работает
Уже незнаю даже что делать.

Подвал раздела