更新记录时对多列进行laravel唯一验证



我必须更新记录,忽略当前记录I-e我必须在两列company_id和user_id上实现唯一性,同时插入记录,代码运行良好,但当我不更新时,我陷入了如何实现的困境这是代码

Validator::extend('ValidateUser', function ($attribute, $value, $parameters) use ($company_id, $user_id) {
$msgs = CustomReports::where('parent_company', $company_id)->where('user_id',$user_id)->get()->count();
if ($msgs > 0) {
return false;
} else {
return true;
}
});
Validator::replacer('ValidateUser', function ($translator, $data, $rules, $messages) {
return "Custom report is already assign to this user against parent company";
});
$this->validate($request,[
'parent_company_id' => 'required',
'user' => 'required|ValidateUser',
'reporting_company_id' => 'required',
'bifurcation' => 'required',
]);

解决此问题的一种方法是使用不同的验证来创建和更新用户

最新更新