]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Исправление загрузки дубликатов
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 7 Feb 2025 10:39:55 +0000 (13:39 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 7 Feb 2025 10:39:55 +0000 (13:39 +0300)
erp24/controllers/StoreCityListController.php

index eb9860b997f75104f593da1bb0351da3871d29ed..256ae56d8963a2a2925fbae0f5637b49b98c9d22 100644 (file)
@@ -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), так как она уже существует.");
             }
         }
     }