From: fomichev Date: Fri, 7 Feb 2025 10:39:55 +0000 (+0300) Subject: Исправление загрузки дубликатов X-Git-Tag: 1.7~2^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=f91b30d1edc5438b1e3f49d8505014d6c345261d;p=erp24_rep%2Fyii-erp24%2F.git Исправление загрузки дубликатов --- diff --git a/erp24/controllers/StoreCityListController.php b/erp24/controllers/StoreCityListController.php index eb9860b9..256ae56d 100644 --- a/erp24/controllers/StoreCityListController.php +++ b/erp24/controllers/StoreCityListController.php @@ -97,13 +97,25 @@ class StoreCityListController extends Controller } foreach ($data as $row) { - $model = new StoreCityList(); - $model->name = $row['name'] ?? $row['A']; - $model->parent_id = $row['parent_id'] ?? $row['B']; - $model->type = $row['type'] ?? $row['C']; - - if (!$model->save()) { - Yii::error("Ошибка при сохранении: " . json_encode($model->errors)); + $name = $row['name'] ?? $row['A']; + $parent_id = $row['parent_id'] ?? $row['B']; + $type = $row['type'] ?? $row['C']; + + $existingRecord = StoreCityList::find() + ->where(['name' => $name, 'parent_id' => $parent_id, 'type' => $type]) + ->exists(); + + if (!$existingRecord) { + $model = new StoreCityList(); + $model->name = $name; + $model->parent_id = $parent_id; + $model->type = $type; + + if (!$model->save()) { + Yii::error("Ошибка при сохранении: " . json_encode($model->errors)); + } + } else { + Yii::info("Пропущена запись: $name (parent_id: $parent_id, type: $type), так как она уже существует."); } } }