Laravel создать уникальные поля в таблице

Есть таблица book_authors которая связывает две таблицы, books и authors связь многие-ко-многим. В таблицы book_authors есть поля book_id и author_id. Необходимо создать миграцию, чтобы обновить эти поля и сделать их уникальными, т.е. чтобы не было дубликатов записей, например не должно быть:

id  book_id  author_id
1      1          2
2      1          2
         ...

Подскажите, пожалуйста, как это можно сделать?


Ответы (1 шт):

Автор решения: Xaku

Добавьте к вашей миграции вот этот код и база не позволит создать одинаковые значения

$table->dropColumn(['id']);
$table->primary(['book_id  ','author_id'], 'book_id_author_id_primary');
→ Ссылка