正确的if-else分组Laravel

时间:2019-02-21 08:40:16

标签: laravel laravel-5.7

我正在尝试创建一个配置文件上传功能,如果您是男孩则不上传图像,则将john.png作为默认图像,如果是女孩则将获取mary.png作为默认图片。如果您上传照片,则您的个人资料照片将更改为新上传的图像,但不应删除john.jpgmary.png。而且,如果您决定再次上传新照片,则只能替换以前上传的照片。因此,基本上john.jpgmary.png将永远不会被覆盖,并且用户在数据库/系统中只能有一张照片。这是我到目前为止所做的:

$user = User::find($request->id);

if ($request->hasFile('user_image')) {
    if ($user->user_image != 'john.jpg' || $user->user_image != 'mary.png') {
        Storage::delete('public/user_images/' . $user->user_image);
    }

    $user->user_image = $newPhoto;
}

不幸的是,此逻辑删除了john.jpgmary.png,但是如果用户再次上传,它将替换覆盖默认图像的先前图像。

此行if ($user->user_image != 'john.jpg' || $user->user_image != 'mary.png')将始终给出一个true和一个false。有人可以用正确的逻辑帮助我吗?

EDIT:

是的,&&做到了。做得很好。我很遗憾没有早一点注意到这一点。

0 个答案:

没有答案