【发布时间】:2021-11-22 04:00:27
【问题描述】:
patternName 字段中的值存储在course_patterns 表的pattern_name 列中。当我为此字段添加唯一验证时,收到错误BadMethodCallException: Method Illuminate\Validation\Validator::validatePatternName does not exist in file C:\wamp64\www\Laravel\projects\abcd\vendor\laravel\framework\src\Illuminate\Validation\Validator.php on line 1509。否则,一切工作正常。由于软删除的行不计入unique 验证,我添加了下面的代码,这对我的另一个项目很好。我该如何解决这个问题?
public function update(Request $request, $id){
$validator=Validator::make($request->all(),
[
'patternName'=>['required','string','pattern_name',Rule::unique('course_patterns')->where('function($query){
return $query->whereNull('deleted_at');
})->ignore($id)],
'file'=>'nullable|image',
'contentTypeId'=>'nullable|integer'
]);
}
【问题讨论】:
标签: php laravel validation eloquent laravel-8