Пытаюсь реализовать простой конструктор расчетов - добавить новую строку, выбрать в ней элемент из списка и заполнить количество и цену.
За привязку элементов к расчету отвечает 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']
]
);