在 laravel 中删除有照片和没有照片的用户
Deleting a user with photo and without it in laravel
我想删除一个用户,但只有 he/she 有照片我才能删除
试图获得 属性 的非对象。我想删除任何一种方式。我的代码:
public function destroy($id)
{
$user = User::findOrFail($id);
if(File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}else{
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}
如果用户没有照片,$user->photo
可能为空,因此在尝试访问 $user->photo->file
时会出现错误。为防止错误,您必须检查 $user->photo
是否为对象。
public function destroy($id)
{
$user = User::findOrFail($id);
if(is_object($user->photo) && File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
} else {
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}
我觉得你应该先检查参数是否存在,然后用它来查找图像
public function destroy($id)
{
$user = User::findOrFail($id);
if(isset($user->photo->file) && File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}else{
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}
我想删除一个用户,但只有 he/she 有照片我才能删除 试图获得 属性 的非对象。我想删除任何一种方式。我的代码:
public function destroy($id)
{
$user = User::findOrFail($id);
if(File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}else{
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}
如果用户没有照片,$user->photo
可能为空,因此在尝试访问 $user->photo->file
时会出现错误。为防止错误,您必须检查 $user->photo
是否为对象。
public function destroy($id)
{
$user = User::findOrFail($id);
if(is_object($user->photo) && File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
} else {
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}
我觉得你应该先检查参数是否存在,然后用它来查找图像
public function destroy($id)
{
$user = User::findOrFail($id);
if(isset($user->photo->file) && File::exists($user->photo->file)){
unlink(public_path().$user->photo->file);
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}else{
$user->delete();
Session::flash('deleted_user','The user has been deleted');
return redirect("/admin/users");
}
}