ua = $data['ua']; $this->device = $data['device']; $this->browser_name = $data['browser_name']; $this->browser_version = $data['browser_version']; $this->os_name = $data['os_name']; $this->os_version = $data['os_version']; $this->modified = $data['modified']; } public function prepareUpdate(): array { $params = $this->queryParams(); unset($params[':ua']); $placeholders = array_keys($params); $updateString = $this->updateStringByPlaceholders($placeholders); return [$params, $updateString]; } public function updateEntityInDb(int $entityId, int $apiKey): void { // total_visit and total_account should remain still [$params, $updateString] = $this->prepareUpdate(); $params['entity_id'] = $entityId; $params['key'] = $apiKey; $query = (" UPDATE event_ua_parsed SET {$updateString} WHERE event_ua_parsed.id = :entity_id AND event_ua_parsed.key = :key "); $model = new \Models\Device(); $model->execQuery($query, $params); } }