如何在表单请求中惟一数据组验证



我有两个列'book_name' &"书"表中的"作家"。当新的数据插入我想检查相同的书和作家不会被添加。但我不知道该怎么做。这是我的代码。

public function rules()
{
return [
'book_name' => 'required|unique:books,book_name,' . $this->id,
'writer' => 'required|unique:books,writer,' . $this->id,
];
}
public function rules()
{
return [
'book_name' => [
'required',
Rule::unique('books')->where(fn ($query) => $query->where('writer', request('writer')))
->ignore($this->id)
],
'writer' => 'required',
];
}

根据laravel文档,通过定义规则来应用唯一规则,声明表和列名,例如

unique:table,column

或者,如果你使用雄辩的模型,它可以是

unique:pathtomodel,column

不需要. $this->id构造函数。

最新更新