我需要为我的表创建一个验证" candidate_knowledges",基本上在这个表中它接受列(candidate_id,software_id),我不能让create user_id和软件多于一个。但我认为我的验证是错误的,或者我做得不对。 我在验证中试图说的是,在表上只能存在一个software_id和一个candidate_id,这样候选人就不会有重复的条目。
Ex: 'software_id' => 'required|integer|unique:candidate_knowledges,candidate_id,'.$candidate->id,
答案 0 :(得分:0)
这是一种只允许每个候选人使用一种软件的方法:
$rules = [
'software_id' =>
'required',
'integer',
'min:1',
Rule::unique('candidate_knowledges')->where('candidate_id', $candidate->id),
],
];
一般情况下,我建议使用流畅的验证语法(它的匹配更容易使用和更新),但如果你不能(laravel< 5.3或任何其他原因):
'software_id' => 'required|integer|unique:candidate_knowledges,NULL,NULL,candidate_id,' . $candidate->id,
希望它有所帮助。