Я создаю форму, используя Vue JS (точнее, библиотеку Vuetify), и, нажимая кнопку «Добавить», я пытаюсь сделать так, чтобы пользовательский ввод был добавлен в базу данных.
База данных имеет 3 столбца: id, type_id, value. Я хочу связать пользовательский ввод со столбцом значения.
Обратите внимание, что allDesserts - это массив, в котором хранятся все элементы в базе данных. Это то, что я хочу добавить.
Как мне этого добиться?
Компонент в моей форме:
<v-combobox
:items="allDesserts.map(a => a.value)"
label="Project Type"
:search-input.sync="search"
>
<template v-slot:no-data>
<v-text-field
label="Add new dessert"
v-model="search"
>
</v-text-field>
<v-btn
@click="enterKey"
>Add</v-btn>
</template>
</v-combobox>
Ax ios запрос / метод:
enterKey () {
axios.post('/api/desserts', {
value: 'key'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error.response);
});
}
Мой контроллер:
public function storeDessert(Request $request)
{
$dropdownType = new DropdownType();
$dropdownType->attribute_id = $request->input(rand(1, 10000));
$dropdownType->value = $request->input('value');
$dropdownType->save();
}
Я получаю следующую ошибку:
"Illegal string offset 'id'"