【发布时间】:2020-12-11 14:33:36
【问题描述】:
你好,我有两个表用户和配置文件,我有一个表格来更新用户配置文件,当我尝试更新时,它只是刷新页面但没有任何更新,并且没有错误
这是我的代码:
ProfilesControllers:
public function update(Request $request)
{
$this->validate($request,[
'name'=>'required',
'email'=>'required|email',
'about'=>'required',
'facebook'=>'required|url',
'instagram'=>'required|url',
]);
$user = Auth::user();
if($request->hasFile('avatar')){
$avatar = $request->avatar;
$avatar_new_name = time() . $avatar->getClientOriginalName();
$avatar->move('uploads/avatars', $avatar_new_name);
$user->profile->avatar = 'uploads/avatars'.$avatar_new_name;
$user->profile->save();
}
$user->name = $request->name;
$user->email = $request->email;
$user->profile->facebook = $request->facebook;
$user->profile->instagram = $request->instagram;
$user->profile->about = $request->about;
if($request->has('password')){
$user->password=bcrypt($request->password);
$user->save();
}
$user->save();
$user->profile->save($user->profile);
return redirect()->back();
}
profile.blade.php:
<form action="{{ route('user.profile.update')}}" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
/// here is my input fields
</form>
我正在使用 Laravel:6.20.5 有人可以告诉我代码中的问题在哪里吗?谢谢
【问题讨论】:
-
将
$user = Auth::user();更改为$user = User::find(Auth::user()->id); -
@sta 对不起,即使我这样做了仍然有同样的问题
-
检查更新方法是否被触发?我的意思是你可以在更新方法中
dd($request->all())并检查 -
@Donkarnash 是的,我已经尝试过 dd($request->all()),我可以在屏幕上看到我的数据
-
您是否检查过它是否也通过了验证。验证后是否也会执行 dd