我想对两个字段进行验证,我已经尝试过了,但对我来说不起作用,我只需要验证两个字段。
我想要的是田野的圣母们"grado";以及";fk_nivel_academico"不重复
这是我数据库中的表:
-----------------------------------------------
id | grado | fk_nivel_academico | fk_estado
1 | Primero | 1 | 1
2 | Segundo | 1 | 2
这是验证规则:
$validatedData = Validator::make(
[
'grado' => $this->grado
],
[
'grado' => [
'required',
Rule::unique('grado')
->where('fk_nivel_academico', '==', $this->fk_nivel_academico)
->where('grado', '==', $this->grado)
]
],
我认为问题在于,在sql中使用==
比较器时,它是=
。我建议您使用的另一个解决方案是制作一个Rule
文件。以下是如何创建自定义验证的指南
在通行证方法中,你可以使用类似于的东西
public function passes($attribute, $value)
{
$table = Table::where('fk_nivel_academico', '=', $this->fk_nivel_academico)
->where('grado', '=', $this->grado)->get();
if($table->count() == 0){
return true;
}
}