Можно ли в Laravel использовать "уникальные вместе", аналогично Django?

В Django вы можете сделать это: unique_together = ('name', 'username',) поэтому если вы попытаетесь зарегистрировать людей следующим образом:

  1. имя: John, имя пользователя: blabla <---- this gets registered
  2. >
  3. имя: John, имя пользователя: haha <---- это регистрируется
  4. имя: John, имя пользователя: blabla <---- это не будет зарегистрировано, потому что комбинация John и blabla уже существует.

Есть ли что-то похожее в Laravel, что я мог бы использовать?

Главная цель - проверить, существуют ли имя и имя пользователя вместе, если да, то выдать ошибку валидации, иначе зарегистрировать запись в базе данных.

edit #1: если я могу получить что-то вроде "unique together" в laravel, возможно ли изменить метод валидации на основе скрытого поля в форме?

Например, я хочу, чтобы пользователь писал свое имя и email и отправлял его, а также имел флажок. Флажок будет включать/выключать проверку "уникальности" имени, так что если я сделаю вот так:

имя: John Doe Corp. email: не важно, флажок: отмечен

тогда он проверит столбец 'name' на наличие дубликатов. В противном случае:

имя: неизвестный. email: не важно, флажок: Не отмечен

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

Вернуться на верх