我试图在控制器中添加unique validation rule
。
但是为什么重复的数据仍然记录到数据库。
控制器
public function tambahDataWNI(Request $request){
$validation = $request->validate([
'no_identitas' => 'required|unique:pendataan,no_identitas'
]);
$c = new InputdatawniModel();
$c->jenis_identitas = $request->jenis_identitas;
$c->no_identitas = $request->no_identitas;
$c->nama = $request->nama;
$c->asal_shelter = $request->asal_shelter;
$c->save();
return redirect('inputdatawni');
}
答案 0 :(得分:1)
在这里unique rules
基于该引用,您需要确保使用正确的表名和正确的列名
$validation = $request->validate([
'no_identitas' => 'required|unique:table_name,column_name'
]);
答案 1 :(得分:0)
为此创建正确的请求文件
public function rules()
{
switch ($this->method()) {
case 'POST':
return [
'no_identitas' => 'required|unique:tablename,columnname,NULL,id,deleted_at,NULL',
];
case 'PUT':
$model = Model::whereId($this->model)->first();
return [
'no_identitas' => 'required|numeric|unique:tablename,name,' . $model->id . ',id',deleted_at,NULL',
];
default:
break;
}
}
答案 2 :(得分:0)
在控制器中添加以下验证器类。
使用Illuminate \ Support \ Facades \ Validator;
然后检查以下代码。
Publishers.Once