---
title: "Import týždenných polí — Opening Hours for Laravel | Roundly"
description: "Importujte hodiny uložené v rozšírenom formáte polí podľa dní, s popismi a výnimkami — ako import dát, nie prepis kódu."
url: https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/import-tyzdennych-poli
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Opening Hours for Laravel](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel.md)

# Import týždenných polí

Rozšírený formát polí s kľúčmi podľa dní v týždni balík číta natívne, takže prechod zo staršieho riešenia je import dát, nie prepis:

```php
use RoundlyConsulting\OpeningHours\DataTransferObjects\CalendarData;
use RoundlyConsulting\OpeningHours\Facades\OpeningHours;
use RoundlyConsulting\OpeningHours\Validation\ParseOptions;

$data = CalendarData::fromWeekArray([
    'monday' => ['09:00-12:00', ['hours' => '13:00-18:00', 'data' => 'Afternoon']],
    'exceptions' => [
        '2026-12-24' => [],
        '12-25' => ['data' => 'Christmas'],
        '2026-12-27 to 2026-12-30' => ['10:00-12:00'],
    ],
], new ParseOptions(mergeOverlapping: true));

OpeningHours::sync($clinic, $data);   // or $clinic->setOpeningHours($data)
```

- data na rozsahu alebo dni sa zachová — reťazec sa stane popisom, pole sa uloží ako meta.
- Kľúče výnimiek: Y-m-d (jednorazová), m-d (každoročná) a obdobia Y-m-d to Y-m-d alebo m-d to m-d; \[\] alebo záznam bez hours znamená zatvorené.
- overflow sa ignoruje — nočné rozsahy vždy pokračujú cez polnoc.
- Pri mergeOverlapping zostane rozsah, ktorý sa s ničím neprekrýva, presne taký, aký je; zlúčený rozsah si ponechá popis, kapacitu či položku meta, len ak sa na nich zhodujú všetky pohltené rozsahy.
- filters sa odmietne (unsupported\_week\_array\_feature) — namiesto neho použite DynamicExceptionProvider.

## Validácia pred importom

WeekArrayParser namiesto vyhodenia výnimky vráti ParseResult, takže jeden chybný záznam nezastaví hromadný import; cesty porušení používajú pôvodné kľúče a neplatná hranica obdobia sa uvedie samostatne (exceptions.2026-12-01 to 2026-12-30.from alebo .until):

```php
use RoundlyConsulting\OpeningHours\Validation\WeekArrayParser;

$result = WeekArrayParser::parse($weekArray);   // ParseResult — never throws
$result->isValid();
$result->violations;                            // paths use the legacy keys: mon.0, exceptions.2026-12-24.0
$result->dataOrFail();                          // CalendarData
```

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel.md)
