Я использую Laravel API вместе с приложением VueJS Frontend. Я посылаю axios
POST
звонок вместе с некоторой информацией, которую пользователь сообщает о себе. В бэкэнде я беру эти данные и обновляю запись пользователя в базе данных MySQL.
Это мой бэкэнд-код:
$user = User::where(['logintoken' => $request->login_token, 'remember_token' => $request->remember_token])->first();
if (!$user) {
$status = 404;
$response = ['status' => false, 'message' => 'User not found.'];
} else {
$affectedRows = $user->update([
'country' => $request->input('country'),
'city' => $request->input('city'),
'state' => $request->input('state'),
'dob' => $request->input('dob'),
'language' => $request->input('language'),
'street' => $request->input('street'),
'house' => $request->input('house'),
'avatar' => $request->input('avatar'),
'birthplace' => $request->input('birthplace'),
'type' => $request->input('userType'),
'bio' => $request->input('bio'),
'zip' => $request->input('zip'),
'has-completed-profile' => 1
]);
if (!$affectedRows) {
$response = ['status' => false, 'message' => 'Error updating'];
$status = 500;
} else {
$response = ['status' => true, 'message' => 'User updated successfully', 'updated_record' => $user, 'request' => $affectedRows, 'zip' => $request->input('zip')];
}
}
Теперь этот код работает отлично, за исключением того, что он не обновляет поле zip
. Я console.log()
ответ на стороне VueJS, и я вижу, что значение zip
является правильным, а также поле типа fo zip
в БД является строкой.
Тем не менее, это не работает для столбца zip
. Когда я создал миграцию users
, столбца zip
не было, но через некоторое время, когда мне это понадобилось, я создал другую миграцию и использовал ее для изменения таблицы, вставив поле zip
.
Есть идеи, почему это не работает?