Php Laravel验证:软删除+;独特的电子邮件&x2B;更新
我正在尝试设置客户端注册检查和配置文件编辑Php Laravel验证:软删除+;独特的电子邮件&x2B;更新,php,laravel,validation,laravel-7,Php,Laravel,Validation,Laravel 7,我正在尝试设置客户端注册检查和配置文件编辑 我正在使用软删除 电子邮件必须是唯一的(当然不包括深入研究的邮件) 如果配置文件已编辑(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',
],
现在,它可以正常工作并检测未删除的唯一电子邮件,但当我需要从客户端编辑配置文件时,它会给我错误。我尝试添加其他独特设置,但它们似乎被忽略:
'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
],
试试这个
$this->validate($request,[
'email'=>['required','email',Rule::unique('clients','email')->ignore($id)->whereNull('deleted_at')]
]);
尝试以下代码`$this->validate($request,['email'=>['required','email',Rule::unique('clients','email')->ignore(auth()->id()->whereNull('deleted_at'))]]`@kunalrajput我得到一个成员函数的
调用,其中integer上的null()是您的客户端身份验证用户,您刚刚在关闭时出错”)“我不需要身份验证id,但需要请求id。多亏了您,现在已经修复了它。加上它作为答案,我会同意的,是的,这是一个打字错误。谢谢
$this->validate($request,[
'email'=>['required','email',Rule::unique('clients','email')->ignore($id)->whereNull('deleted_at')]
]);