Уникальная проверка в Laravel в зависимости от идентификатора пользователя - PullRequest
0 голосов
/ 18 июня 2019

В моем приложении для книг у меня есть следующее правило для запроса магазина:

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

В этот момент, с этим правилом проверки в StoreRequest, у меня появляется ошибка «Этот заголовок уже добавлен» (это правильно, но заголовок был добавлен другим пользователем, а не тем, кто пытается его добавить).

Я хочу добиться уникального правила для заголовка, но только для этой коллекции пользователей,Например: 2 разных пользователя могут объявить ОДИНАКОВОЕ название книги, но один и тот же пользователь не может дублировать его.

Что не так?

Ответы [ 4 ]

0 голосов
/ 18 июня 2019

попробуйте это

'title' => 'required|min:3|max:128|unique:books,title,NULL,id,user_id,'.Auth::user()->id,
0 голосов
/ 18 июня 2019

попробуйте это:

'title'      => 'required|string|unique:tblbooks,id,'.$request->input('title'),
0 голосов
/ 18 июня 2019
'title' => 'unique:books,user_id|required|min:3|max:128,' . $this->user()->id,

Кажется, сделать трюк! Спасибо

0 голосов
/ 18 июня 2019

Попробуйте это.

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