mg_abr
@mg_abr

Как сделать сохранение дополнительных pivot-полей в Laravel?

Пытаюсь реализовать простой конструктор расчетов - добавить новую строку, выбрать в ней элемент из списка и заполнить количество и цену.

За привязку элементов к расчету отвечает pivot-таблица (расчет_элемент), у которой есть еще два доп. поля (кол-во, цена).

С одной строкой сохранение работает, но как сделать сохранение нескольких строк? Усложняет задачу дополнительные поля в pivot-таблице (кол-во, цена).
<tr>
    <td>
        <select v-model="formElement" class="custom-select">
            <option v-for="element in elements" :key="element.id" :value="element.id">{{ element.title }}</option>
        </select>
    </td>
    <td>
        <input v-model="formAmount" type="text" class="form-control" value="1"/>
    </td>
    <td>
        <input v-model="formPrice" type="text" class="form-control" value="1"/>
    </td>
</tr>
...
data() {
    return {
        elements: [],
        formElement: '',
        formAmount: '',
        formPrice: '',
    }
},
...
methods: {
    CalculationSubmit() {
        axios.post('/api/calculations', {
            formElement: this.formElement,
            formAmount: this.formAmount,
            formPrice: this.formPrice
        })
...

Controller (store)
$calculation->elements()->attach($data['formElement'],
    [
        'amount' => $data['formAmount'],
        'price' => $data['formPrice']
    ]
);
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы