gpt4 book ai didi

php - Laravel 唯一验证在更新时失败

转载 作者:行者123 更新时间:2023-12-04 17:45:02 24 4
gpt4 key购买 nike

我正在使用 laravel 5.7 并使用表单请求,但我的数据库中有一个唯一的 branch_name 以及唯一的 slug,但每次更新时都会出现错误。分支名称已经存在

public function rules()
{

switch($this->method()) {

case 'DELETE':
return [
'slug'=>'required',

];
case 'POST':
case 'PUT':
case 'PATCH':
return [
'branch_name'=>'required|max:255|unique:branches,branch_name,id'.$this->id,
'branch_address'=>'required',

];
default:
break;
}
}

我也尝试了以下但没有用

'branch_name'=>'required|max:255|unique:branches,branch_name,'.$this->id,

'branch_name'=>'required|max:255|unique:branches,branch_name,slug'.$this->slug,

我还有一个 id 和 slug 的隐藏值,即使我在规则方法中打印我也能看到 id 和 slug

最佳答案

这样做会:

 use Illuminate\Validation\Rule;

'branch_name' => [
'required|max:255',
Rule::unique('branches')->ignore($this->route('branch')),
]

用您编辑的 web.php 路由中的路由参数名称替换“branch”。

您可以在添加和编辑两者时使用此验证。

如果您的数据库字段名称不同,则将名称作为忽略函数的第二个参数发送。喜欢

Rule::unique('branches')->ignore($this->route('branch'), 'branchName'),

详情:Laraval Validation unique

希望这对您有所帮助。

关于php - Laravel 唯一验证在更新时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52454898/

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