Laravel по-русски

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

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

#1 22.02.2017 11:08:09

Insert дополнительных данных в pivot-таблицу из двух input-ов

Всем привет. Не могу записать дополнительные данные в pivot-таблицу.
В чем суть: добавляется в базу товар, помимо прочих полей указывается кол-во данного товара на данный момент на двух объектах продаж. Поэтому есть 3 таблицы: products, stores и product_store, которая, как понимаете, является связующей. Вот как она выглядит:
Snymok_ekrana_2017_02_22_v_09_17_26.png
Отношения между моделями belongsToMany с указанием withPivot('amount'). Айдишники заходят хорошо, а вот как еще и данные amount записать не понимаю.
Подозреваю, что проблема кроется в неправильной обработке приходящего массива. Input выглядит следующим образом:

@foreach($stores as $store)
    <div class="form-group">
           <label for="{{ $store->name }}">Количество в {{ $store->name }}</label>
           <input type="number" name="stores[{{ $store->id }}]" class="form-control" required>
    </div>
@endforeach

Количество input-ов зависит от количества объектов продаж (stores). Т.о. было сформировано 2 поля, а dd($request) вернул следующие значения:

"stores" => array:2 [▼
        1 => "10"
        2 => "20"
      ]

Где store_id => amount.

Уважаемые разработчики, помогите решить проблему с записью amount в pivot таблицу. Заранее благодарю smile

Изменено MMysiv (22.02.2017 11:10:15)

Не в сети

#2 24.02.2017 11:25:33

Re: Insert дополнительных данных в pivot-таблицу из двух input-ов

https://laravel.ru/docs/v5/eloquent-rel … ps#вставка
создать связь

->create(['name' => 'store_name'] , ['amount' => $amount]);

присоединить

->attach($id, ['amount' => $amount]);

синхронизировать

->sync([$id1 => ['amount' => $amount1], $id2 => ['amount' => $amount1]]);

Не в сети

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