$type) { $parsedTypes[$orderNum] = $type['type']; } return $parsedTypes; } //check if dubdevice exist public static function create($deviceId, $type, $unit) { $record = array( 'device_id' => $deviceId, 'type' => $type, 'unit' => $unit, ); try { Db::add('subdevices', $record); } catch (PDOException $error) { echo $error->getMessage(); die(); } } public static function remove($subDeviceId) { RecordManager::cleanSubdeviceRecords($subDeviceId); return Db::loadAll("DELETE FROM subdevices WHERE subdevice_id = ?", array($subDeviceId)); } public static function getSubdevicesByRoomIds($roomIds = NULL) { if(empty($roomIds)) return NULL; //TODO: @Patrik Check line 89 $rows = Db::loadAll(" SELECT d.room_id, sd.subdevice_id, sd.device_id, d.icon, d.name, sd.type, sd.unit, r.value FROM subdevices sd JOIN devices d ON sd.device_id = d.device_id JOIN records r ON r.subdevice_id = sd.subdevice_id WHERE d.room_id IN (".str_repeat("?,", count($roomIds)-1)."?) /*AND value != '999'*/ AND r.record_id IN ( SELECT MAX(record_id) FROM records GROUP BY subdevice_id ) GROUP BY subdevice_id ORDER BY d.name DESC ", $roomIds); $ret = []; foreach($rows as $row){ $ret[$row['room_id']][] = $row; } return $ret; } }