gpt4 book ai didi

php - Laravel 验证 : soft delete + unique email + update

转载 作者:行者123 更新时间:2023-12-04 10:14:51 26 4
gpt4 key购买 nike

我正在尝试设置客户端注册检查和配置文件编辑。

  • 我正在使用软删除
  • 电子邮件必须是唯一的(当然不包括删除的)
  • 如果个人资料被编辑(id 存在),它必须忽略该字段电子邮件

  • 到目前为止我有
    'email' => [
    'required',
    'email',
    'unique:clients,email,NULL,deleted_at,deleted_at,NULL',
    ],

    现在这可以正常工作并检测未删除的唯一电子邮件,但是当我需要从客户端编辑配置文件时它会给我错误。我尝试添加额外的独特设置,但它们似乎被忽略了:
    'email' => [
    'required',
    'email',
    'unique:clients,email,NULL,deleted_at,deleted_at,NULL',
    Rule::unique('clients')->ignore('id', (int)$request->input('id')) // <- from Laravel docs, but is not working
    ],

    我找到了只有这些要求之一的解决方案,但我似乎无法将它们结合起来。

    编辑:修复是
    'email'=>['required','email',Rule::unique('clients','email')->ignore($request->input('id'))->whereNull('deleted_at')],

    最佳答案

    尝试这个

     $this->validate($request,[
    'email'=>['required','email',Rule::unique('clients','email')->ignore($id)->whereNull('deleted_at')]
    ]);

    关于php - Laravel 验证 : soft delete + unique email + update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61118281/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com