У меня есть уникальное ограничение в моей базе данных для двух столбцов.
$table->unique(array("table_a_id", "table_b_id"));
Теперь я использую Faker в классе сеялки, чтобы заполнить эту сводную таблицу:
$tableAIds = TableA::all()->lists("id")->toArray();
$tableBIds = TableB::all()->lists("id")->toArray();
foreach(range(1, 20) as $index) {
$tableAId = $faker->randomElement($tableAIds);
$tableBId = $faker->randomElement($tableBIds);
DB::table("table_a_table_b_pivot")->insert([
"table_a_id" => $tableAId,
"table_b_id" => $tableBId
]);
}
Однако это создает дубликаты, и заполнение не выполняется из-за ошибки SQL.
Как убедиться, что я не пытаюсь вставить дубликаты?