Уникальный индекс в Laravel
Уникальный индекс запрещает
повторяющиеся значения в колонке.
Мы уже видели модификатор
unique на поле. Тот же
результат можно получить отдельным
вызовом unique:
<?php
$table->unique('email');
?>
Так удобно добавить уникальность, когда колонка уже описана или когда индекс ставят в конце миграции отдельным блоком.
Пример миграции таблицы пользователей:
<?php
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->timestamps();
$table->unique('email');
});
}
?>
Тот же индекс можно задать сразу на колонке:
<?php
$table->string('email')->unique();
?>
Оба способа создают уникальный
индекс на поле email.
Выбирайте тот, который удобнее
в конкретной миграции.
Сделайте уникальный индекс
по полю email в таблице
с юзерами.
Чем уникальный индекс отличается от обычного?