Я новичок в laravel и в настоящее время пытаюсь обновить некоторую информацию о пользователе.
В своем коде я обновляю имя пользователя и адрес электронной почты для таблицы пользователя и информацию о пользователе в таблице user_info ,
Это работает, но я чувствую, что это можно сделать гораздо более коротким кодом.
Кроме того, каждый раз, когда я обновляю таблицу user_info, вместо обновления текущей строки вставляется новая строка.
public function update(Request $request, $id)
{
$data = $request->validate([
'name' => 'required',
'email' => 'required',
'firstName' => 'required',
'lastName' => 'required',
'phone' => 'required',
'cityProvince' => 'required',
'zipPostalCode' => 'required',
]);
$user = User::find($id);
$user->name = $data['name'];
$user->email = $data['email'];
$user->save();
$userInfo = new UserInfo([
'first_name' => $data['firstName'],
'last_name' => $data['lastName'],
'phone' => $data['phone'],
'city_province' => $data['cityProvince'],
'zip_postalcode' => $data['zipPostalCode'],
]);
$user->userInfo()->save($userInfo);
return redirect()->route('settings.index');
}