Я пытаюсь отправить запрос на исправление из моей таблицы данных Vuetify в Laravel, а затем в базу данных mySQL.
Вот различные фрагменты кода из моего controller.php, моего api.php и самого файла Vuetify:
api.php:
Route::patch('machines/{id}', [
'as' => 'machines/{id}',
'uses' => 'MachineController@update'
]);
MachineController.php
$machines = Machine::find($request->id)->update();
фактическое требование к патчу axios. в файле .vue:
Object.assign(this.machines[this.editedIndex], this.editedItem);
axios.patch("machines/" + this.editedItem.id, {
editedItem: this.editedItem
})
В разделе полезной нагрузки Telescope я получаю обновленный объект, но я также получаю сообщение:
"SQLSTATE [23000]:
Нарушение целостности:
1048 Столбец не может быть нулевым.
Для всех столбцов.
Я также пробовал этот синтаксис для метода исправления:
if (this.editedIndex > -1) {
Object.assign(this.machines[this.editedIndex], this.editedItem);
axios
.patch("machines/" + this.editedItem.id)
.then(res => {
this.editedItem = Object.assign({}, this.editedItem);
})
.catch(err => {
console.log(err);
});
} else {
this.machines.push(this.editedItem);
}
this.close();
И я попытался настроить контроллер следующим образом:
$machines = Machine::find($request->id);
$machines->machine_number = $request->input('machine_number');
$machines->machine_name = $request->input('machine_name');
$machines->machine_company = $request->input('machine_company');
$machines->machine_division = $request->input('machine_division');
$machines->machine_center = $request->input('machine_center');
$machines->machine_speed = $request->input('machine_speed');
$machines->save();
Но я все еще получаю ту же ошибку.
Может ли кто-нибудь помочь мне или, по крайней мере, указать мне правильное направление?
Спасибо!