Пример #1
0
 public function import($services, $deviceIndex)
 {
     $subscriptionCount = 0;
     foreach ($services as $service) {
         if (isset($service['serviceUuid']) && is_array($service['serviceUuid'])) {
             $service['serviceUuid'] = $service['serviceUuid'][0];
         }
         if (!($serviceModel = Service::find()->where(array('device' => $deviceIndex, 'serviceUuid' => $service['serviceUuid']))->one())) {
             $serviceModel = new Service();
         }
         $service = array_merge($service, array('device' => $deviceIndex));
         $serviceModel->setAttributes($service);
         if ($serviceModel->save()) {
             $serviceIndex = $serviceModel->getPrimaryKey();
             if (isset($service['charasteristics'])) {
                 $subscriptionCount += \app\models\Charasteristic::import($service['charasteristics'], $serviceIndex);
             }
         }
         //else {
         //die(print_r( $serviceModel->getErrors(),true));
         //}
     }
     return $subscriptionCount;
 }