has('machines', ['machineid' => $machineid])) { $this->machineid = $machineid; $this->machine = $database->get('machines', ['machineid', 'notes', 'model', 'condition', 'price'], ['machineid' => $machineid]); $this->history = $database->select('history', ['[>]event_types' => 'eventid'], ['historyid', 'date', 'eventname', 'notes'], ['machineid' => $machineid]); $this->components = $database->select('components', ['[>]component_types' => 'typeid'], ['compid', 'serial', 'typename', 'tested', 'notes', 'capacity', 'model'], ['machineid' => $machineid]); } else { throw new Exception("No machine with that ID number could be found."); } } public function getHistory() { return $this->history; } public function getMachineInfo() { $info = []; $info['machineid'] = $this->machineid; if (!empty($this->machine['model'])) { $info['model'] = $this->machine['model']; } if (!empty($this->machine['condition'])) { $info['condition'] = $this->machine['condition']; } if (!empty($this->machine['price'])) { $info['price'] = $this->machine['price']; } $info['notes'] = $this->machine['notes']; return $info; } public function getComponents() { $info = []; foreach ($this->components as $c) { $info[$c['compid']] = [ 'serial' => $c['serial'], 'type' => $c['typename'], 'notes' => $c['notes'] ]; if (!empty($c['tested'])) { $info[$c['compid']]['tested'] = $c['tested']; } if (!empty($c['capacity'])) { $info[$c['compid']]['capacity'] = $c['capacity']; } if (!empty($c['model'])) { $info[$c['compid']]['model'] = $c['model']; } } return $info; } }