Laravel中的唯一验证取决于用户ID

时间:2019-06-18 06:35:12

标签: laravel validation unique rules

在我的图书应用中,我对商店要求有以下规则:

'title' => 'unique:books,title|required|min:3|max:128,' . $this->user()->id.',user_id',

此刻,在StoreRequest中使用该验证规则时,出现错误“此标题已被添加”(是的,但是标题是由其他用户而不是试图添加它的用户添加的)

我想要实现的是对标题具有唯一的规则,但仅针对此用户集合。例如:2个不同的用户可以声明同一本书的书名,但同一用户不能复制它。

怎么了?

4 个答案:

答案 0 :(得分:0)

尝试一下。

'title' => 'required|min:3|max:128|unique:books,title,user_id,'.Auth::user()->id,

答案 1 :(得分:0)

尝试:

'title'      => 'required|string|unique:tblbooks,id,'.$request->input('title'),

答案 2 :(得分:0)

'title' => 'unique:books,user_id|required|min:3|max:128,' . $this->user()->id,

似乎可以解决问题!谢谢

答案 3 :(得分:0)

尝试这个

'title' => 'required|min:3|max:128|unique:books,title,NULL,id,user_id,'.Auth::user()->id,