как я могу решить уникальную ошибку поля в laravel? - PullRequest
0 голосов
/ 18 июня 2020
'call_signs' => [
    'required', 'array', 'min:1',
    'call_signs.*.call_sign' => [
        Rule::unique('call_signs', 'call_sign')->whereNull('deleted_at')->ignore($user->id, 'user_id')
    ]
],

это мой уникальный код, он дает мне ошибку

call_signs - это массив

Метод BadMethodCallException Illuminate \ Validation \ Validator :: validateUnique: callSigns, callSign, «12», userId, deletedAt, «NULL» не существует.

в моей таблице позывных есть softDelete

1 Ответ

0 голосов
/ 18 июня 2020
Уникальное правило проверки

Laravel предоставляет только метод ignore, а не метод whereNull. Обратите внимание, что метод whereNull является частью построителя запросов к базе данных.

Кроме того, обычно нецелесообразно проверять уникальность мягких удалений таблиц. Вам следует подумать об использовании аппаратного удаления для такого случая использования.

В любом случае, если вы хотите использовать по какой-то причине, вы можете создать свое собственное уникальное настраиваемое правило проверки. Подробнее об этом можно прочитать здесь , также есть пример.

...