У меня есть users
таблица и profiles
таблица, теперь я хочу, чтобы пользователи могли обновлять свою информацию в единой форме.
Логика
- имя и адрес электронной почты будут обновляться вТаблица пользователей
- остальные поля будут обновлены в таблице профилей
Код
blade
(форма)
{{ Form::model($user, array('route' => array('profileupdate', $user->id), 'method' => 'PUT','files' => true)) }}
<div class="row">
<div class="col-md-6">
<label for="name">Name</label>
{{Form::text('name', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6">
<label for="email">Email</label>
{{Form::text('email', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6 mt-3">
<label for="about">About</label>
{{Form::textarea('about', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6 mt-3">
<div class="row">
<div class="col-md-6">
<label for="phone">Phone</label>
{{Form::text('phone', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6">
<label for="website">Website</label>
{{Form::text('website', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6 mt-3">
<label for="state">State</label>
{{Form::text('state', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-6 mt-3">
<label for="city">City</label>
{{Form::text('city', null, array('class' => 'search-field'))}}
</div>
<div class="col-md-12 mt-3">
<label for="photo">Photo</label>
{{Form::file('photo', array('class' => 'search-field'))}}
</div>
</div>
</div>
<div class="col-md-12">
{{ Form::submit('Update', array('class' => 'btn btn-success mt-5')) }}
</div>
</div>
{{Form::close()}}
Снимок экрана (код выше)
controller
public function update(Request $request, $id)
{
$user = User::find($id);
$user = User::where('id',$id)->first();
$user->name = $request->input('name');
$user->save();
$profile = Profile::find($id);
$profile = Profile::where('id',$id)->first();
$profile->user_id = $request->input('user_id');
$profile->about = $request->input('about');
$profile->website = $request->input('website');
$profile->phone = $request->input('phone');
$profile->state = $request->input('state');
$profile->city = $request->input('city');
if ($request->hasFile('photo')) {
$photo = $request->file('photo');
$filename = 'photo' . '-' . time() . '.' . $photo->getClientOriginalExtension();
$location = public_path('images/' . $filename);
Image::make($photo)->resize(1300, 362)->save($location);
$profile->photo = $filename;
$oldFilename = $profile->photo;
$profile->photo = $filename;
Storage::delete($oldFilename);
}
$profile->save();
return redirect()->route('profile', $user->id)->with('success', 'Your info are updated');
}
PS: пожалуйста, не переходите смой метод контроллера, я просто поместил данные таким образом, чтобы вы могли знать, какое поле принадлежит какой таблице.
Вопрос
Любая идея, как я могу сохранить свои данные в 2таблицы одновременно?
И я получаю эту ошибку
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Нет сообщения