Что означает «кроме» и «idColumn» в «уникальных: таблица, столбец, кроме, idColumn»?из Laravel Docs - PullRequest
0 голосов
/ 04 декабря 2018

Чтобы проверить обновление электронной почты уже зарегистрированного пользователя, у меня есть следующая функция для исключения «уникального» правила для текущего пользователя:

public function updateRules() {
    return [
        'name'  => 'required',
        'email' => 'required|unique:users,email,'.$this->id,
    ];
}

В документах Laravel https://laravel.com/docs/5.7/validation#rule-unique Я нашел синтаксис unique:table,column,except,idColumn с 4 параметрами:

  • table: ссылается на имя таблицы "users"
  • column: ссылается на имя столбца "email"
  • за исключением: я принимаю его как идентификатор экземпляра модели, который я хочу исключить из "уникальной" проверки
  • idColumn: я понятия не имею об этом

Кто-то мог бы уточнить, что делать, кроме как, а idColumn ссылается на?

Примечание для одержимых повторяющимися вопросами : я не спрашиваю, как сделать исключение из правила для обновления, потому что кажетсячтобы работать просто отлично, я прочитал эти вопросы и ответы.Я делаю вспомогательные функции, и мне нужно точно знать, что означают эти два параметра.

1 Ответ

0 голосов
/ 04 декабря 2018

Итак, вы правы в отношении параметра except, это идентификатор, который вы хотите исключить из проверки.

И idColumn необязательно в случае, если ваш столбец называется не id, а, например, user_id.Таким образом, вы будете использовать:

'required|unique:users,email,'.$this->id . ',user_id';
...