У меня есть следующая структура таблицы, которую я динамически загружаю из API.
public function up() {
Schema::create('reports', function(Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('program_id')->unique();
$table->date('date');
.
.
.
$table->timestamps();
});
на каждый запрос API я возвращаю массив данных и пытаюсь сохранить тему в таблице выше. Если программа_id существует, я бы хотел проигнорировать эти записи и сохранить новую. Я оглядывался, но не нашел лучшего способа проверить конкретное значение в извлеченном массиве.
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '528027827' for key 'reports_program_id_unique
Как я сохраняю свои записи
// $datas are the field datas from API
foreach ($datas as $data)
{
$report = \Td\Reports\Reports\Reports::firstOrCreate($data);
}
Как пропустить вставку в существующий идентификатор программы и вставить только новые?