加载当前图像以在编辑表单中更新(在 Laravel 5.5 中使用表单绑定)
Load Current Image to Update in Edit Form (Using Form Binding in Laravel 5.5)
我正在尝试在编辑表单中加载用户当前图像(图像 URL 保存在数据库中)...
如果未选择编辑表单中的新图像,我会收到此错误...
未定义变量:image_path
这是我的更新函数
public function update(Request $request,User $user)
{
$get_user = Auth::user();
if(Input::hasFile('image'))
{
$user_email = $get_user->email;
$image = request()->file('image');
$image_extension = $image->guessClientExtension();
$image_path = $image->storePubliclyAs('public/uploads/profile_images/images', $user_email . ".{$image_extension}");
}
$user->firstname = $request->get('firstname');
$user->lastname = $request->get('lastname');
$user->company= $request->get('company');
$user->address= $request->get('address');
$user->phone = $request->get('phone');
$user->country= $request->get('country');
$user->zipcode = $request->get('zipcode');
$user->city = $request->get('city');
$user->state = $request->get('state');
$user->skills = $request->get('skills');
$user->interests = $request->get('interests');
$user->about = $request->get('about');
$user->website = $request->get('website');
$user->image_url = $image_path;
$user->save();
$request->session()->flash('message.level', 'success');
$request->session()->flash('message.content', 'Profile Updated Successfully !');
return redirect()->route('dashboard');
}
这是我在编辑表单中的图像字段..
{{ Form::label('image_url', 'Profile Image') }}
{{ Form::file('image' ,null, ['class' => 'form-control','id'=>'image_url']) }}
如果用户没有在编辑表单中选择图像,请帮助并给我一个处理场景的解决方案..
如果块 if(Input::hasFile('image'))
,您可以将 $user->image_url = $image_path;
移动到内部。错误将 return 因为在编辑中您没有选择图像,所以如果块内部代码不起作用,那么 $image_path 将是未定义的
public function update(Request $request,User $user)
{
$get_user = Auth::user();
if(Input::hasFile('image'))
{
$user_email = $get_user->email;
$image = request()->file('image');
$image_extension = $image->guessClientExtension();
$image_path = $image->storePubliclyAs('public/uploads/profile_images/images', $user_email . ".{$image_extension}");
$user->image_url = $image_path;
}
$user->firstname = $request->get('firstname');
$user->lastname = $request->get('lastname');
$user->company= $request->get('company');
$user->address= $request->get('address');
$user->phone = $request->get('phone');
$user->country= $request->get('country');
$user->zipcode = $request->get('zipcode');
$user->city = $request->get('city');
$user->state = $request->get('state');
$user->skills = $request->get('skills');
$user->interests = $request->get('interests');
$user->about = $request->get('about');
$user->website = $request->get('website');
$user->save();
$request->session()->flash('message.level', 'success');
$request->session()->flash('message.content', 'Profile Updated Successfully !');
return redirect()->route('dashboard');
}
我正在尝试在编辑表单中加载用户当前图像(图像 URL 保存在数据库中)... 如果未选择编辑表单中的新图像,我会收到此错误...
未定义变量:image_path
这是我的更新函数
public function update(Request $request,User $user)
{
$get_user = Auth::user();
if(Input::hasFile('image'))
{
$user_email = $get_user->email;
$image = request()->file('image');
$image_extension = $image->guessClientExtension();
$image_path = $image->storePubliclyAs('public/uploads/profile_images/images', $user_email . ".{$image_extension}");
}
$user->firstname = $request->get('firstname');
$user->lastname = $request->get('lastname');
$user->company= $request->get('company');
$user->address= $request->get('address');
$user->phone = $request->get('phone');
$user->country= $request->get('country');
$user->zipcode = $request->get('zipcode');
$user->city = $request->get('city');
$user->state = $request->get('state');
$user->skills = $request->get('skills');
$user->interests = $request->get('interests');
$user->about = $request->get('about');
$user->website = $request->get('website');
$user->image_url = $image_path;
$user->save();
$request->session()->flash('message.level', 'success');
$request->session()->flash('message.content', 'Profile Updated Successfully !');
return redirect()->route('dashboard');
}
这是我在编辑表单中的图像字段..
{{ Form::label('image_url', 'Profile Image') }}
{{ Form::file('image' ,null, ['class' => 'form-control','id'=>'image_url']) }}
如果用户没有在编辑表单中选择图像,请帮助并给我一个处理场景的解决方案..
如果块 if(Input::hasFile('image'))
,您可以将 $user->image_url = $image_path;
移动到内部。错误将 return 因为在编辑中您没有选择图像,所以如果块内部代码不起作用,那么 $image_path 将是未定义的
public function update(Request $request,User $user)
{
$get_user = Auth::user();
if(Input::hasFile('image'))
{
$user_email = $get_user->email;
$image = request()->file('image');
$image_extension = $image->guessClientExtension();
$image_path = $image->storePubliclyAs('public/uploads/profile_images/images', $user_email . ".{$image_extension}");
$user->image_url = $image_path;
}
$user->firstname = $request->get('firstname');
$user->lastname = $request->get('lastname');
$user->company= $request->get('company');
$user->address= $request->get('address');
$user->phone = $request->get('phone');
$user->country= $request->get('country');
$user->zipcode = $request->get('zipcode');
$user->city = $request->get('city');
$user->state = $request->get('state');
$user->skills = $request->get('skills');
$user->interests = $request->get('interests');
$user->about = $request->get('about');
$user->website = $request->get('website');
$user->save();
$request->session()->flash('message.level', 'success');
$request->session()->flash('message.content', 'Profile Updated Successfully !');
return redirect()->route('dashboard');
}