---
title: "Stavy kampane — Campaigns for Laravel | Roundly"
description: "Životný cyklus CampaignStatus od Created po koncový stav, udalosť každého prechodu a pomocné metódy enumu."
url: https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel/stavy-kampane
language: sk
---

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

[Campaigns for Laravel](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)

# Stavy kampane

Každá kampaň prechádza stavmi enumu CampaignStatus. Každý prechod spustí udalosť životného cyklu — ale len pri skutočnej zmene stavu, takže opakované volania ju nespustia znova:

| Stav | Kedy nastane | Udalosť |
| --- | --- | --- |
| `Created` | Predvolený stav nového objektu Campaign. | — |
| `Pending` | prepare() otvoril dávku jobov a uložil príjemcov; nič sa ešte neodoslalo. | `CampaignPrepared` |
| `Processing` | start() vyhral presun zo stavu Pending a zaradil joby príjemcov; nastaví sa startedAt. | `CampaignStarted` |
| `Completed` | Dobehli všetky joby doručenia — niektoré mohli zlyhať — alebo nebolo komu posielať. | `CampaignCompleted` |
| `Failed` | Dobehli všetky joby doručenia a ani jedno doručenie neprešlo. | `CampaignFailed` |
| `Canceled` | cancel() zrušil dávku. | `CampaignCancelled` |

startedAt sa nastaví pri prvom prechode do Processing, endedAt pri prvom koncovom stave. Koncové stavy sú Completed, Failed a Canceled a sú konečné — zrušená kampaň zostane v stave Canceled, aj keď jej dávka dobehne. Každý prechod je compare-and-set nad uloženým stavom, takže dva procesy súperiace o jednu kampaň ju nikdy nepresunú oba.

## Pomocné metódy enumu

CampaignStatus je enum s reťazcovými hodnotami — každá hodnota sa zhoduje s názvom prípadu — a nad traitom Helpers z enums-for-laravel pridáva isTerminal():

```php
use RoundlyConsulting\Campaigns\Enums\CampaignStatus;

CampaignStatus::Processing->isTerminal();   // false
CampaignStatus::Canceled->isTerminal();     // true — Completed, Failed and Canceled are terminal

CampaignStatus::values();                   // Collection of 'Created', 'Pending', 'Processing', …
CampaignStatus::toOptions();                // Collection: ['Created' => 'Created', …] for selects
CampaignStatus::validationRule();           // 'in:Created,Pending,Processing,Completed,Failed,Canceled'
CampaignStatus::tryFromName('Pending');     // CampaignStatus::Pending
CampaignStatus::hasValue('Failed');         // true
CampaignStatus::Completed->label();         // 'Completed'
```

Trait prináša aj labels(), options(), readable() a ďalšie vyhľadávania prípadov ako tryFromName() či hasValue(). validationRule() vložíte priamo do form requestu, keď filtrujete kampane podľa stavu.

## 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/campaigns-for-laravel.md)
