Example #1
0
 private function addItem($goods_id, $code, $item_sxe)
 {
     $item = ShItems::findOne(['code' => $code]);
     if (!$item) {
         $item = new ShItems();
         $item->goods_id = $goods_id;
         $item->code = $code;
     }
     $item->state = 1;
     $item->save();
     foreach (ShItemCharacteristics::findAll(['items_id' => $item->id]) as $item_characteristic) {
         $item_characteristic->state = 0;
         $item_characteristic->save();
     }
     foreach ($item_sxe->{'ХарактеристикиТовара'}->{'ХарактеристикаТовара'} as $characteristic_sxe) {
         $characteristic = ShCharacteristics::findOne(['characteristic' => strval($characteristic_sxe->{'Наименование'})]);
         if (!$characteristic) {
             $characteristic = new ShCharacteristics();
             $characteristic->characteristic = strval($characteristic_sxe->{'Наименование'});
             $characteristic->save();
         }
         $item_characteristic = ShItemCharacteristics::findOne(['items_id' => $item->id, 'characteristics_id' => $characteristic->id]);
         if (!$item_characteristic) {
             $item_characteristic = new ShItemCharacteristics();
             $item_characteristic->items_id = $item->id;
             $item_characteristic->characteristics_id = $characteristic->id;
         }
         $item_characteristic->value = strval($characteristic_sxe->{'Значение'});
         $item_characteristic->state = 1;
         $item_characteristic->save();
     }
     return ['id' => $item->id];
 }