db = $db; } /** * @param int $addressId * * @throws InvalidQueryException * * @return WorkDayData */ public function getWorkingDaysForAddress(int $addressId): WorkDayData { $sql = 'SELECT e.vorlagemo > 0 AS `is_monday_workday`, e.vorlagedi > 0 AS `is_tuesday_workday`, e.vorlagemi > 0 AS `is_wednesday_workday`, e.vorlagedo > 0 AS `is_thursday_workday`, e.vorlagefr > 0 AS `is_friday_workday`, e.vorlagesa > 0 AS `is_saturday_workday`, e.vorlageso > 0 AS `is_sunday_workday` FROM `mitarbeiterzeiterfassung_einstellungen` AS `e` WHERE e.adresse = :address_id ORDER BY e.id DESC LIMIT 1'; $result = $this->db->fetchRow($sql, ['address_id' => $addressId]); if (empty($result)) { throw new InvalidQueryException('Address is not valid: ' . $addressId); } return WorkDayData::fromDbState($result); } }