---
title: "Pomocné metódy na zobrazenie — Coupons for Laravel | Roundly"
description: "Metódy bez výnimiek pre šablóny a API — zostávajúce použitia, percento využitia, oprávnenosť zákazníka a bezpečný náhľad zľavy."
url: https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel/pomocne-metody
language: sk
---

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

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

# Pomocné metódy na zobrazenie

V šablónach a API čítajte stav kupónu bez ručných výpočtov a try/catch. Každú z týchto metód môžete bezpečne volať kdekoľvek:

```php
$coupon->remainingUsage();              // ?int   — e.g. 37; null when unlimited (max_usage <= 0)
$coupon->remainingUsageFor($user);      // ?int   — null when untracked or per-redeemer unlimited
$coupon->usagePercentage();             // ?float — e.g. 92.6 (0..100); null when unlimited
$coupon->isRedeemableBy($user, $cart);  // bool   — pass a price to also check currency + minimum spend
$coupon->previewDiscount($cart);        // Money  — zero on a currency mismatch
```

| Metóda | Vracia |
| --- | --- |
| `remainingUsage(): ?int` | Zostávajúce použitia pod celkovým limitom; null pri neobmedzenom kupóne. |
| `remainingUsageFor(Model $redeemer): ?int` | Zostávajúce použitia pre daného zákazníka; null pri vypnutom sledovaní alebo limite 0. |
| `usagePercentage(): ?float` | Využitý podiel celkového limitu, 0..100, zaokrúhlený na 2 desatinné miesta; null bez limitu. |
| `isRedeemableBy(?Model $redeemer = null, ?Money $price = null): bool` | Rovnaké kontroly ako pri uplatnení; s cenou overí aj menu a minimálnu hodnotu nákupu. |
| `previewDiscount(Money $price): Money` | Ako discountFor(), ale pri inej mene vráti nulu — bezpečné v šablónach. |

isRedeemableBy() sa pýta Coupons::check() — rovnaké kontroly v rovnakom poradí ako redeem() a pravidlo Redeemable —, takže sa nikdy nerozídu: napríklad soft-deleted inštancia Coupon je pre všetky NotFound, rovnako ako pre ňu redeem() vyhodí CouponNotFound. Ak potrebujete dôvod, nielen áno či nie, použite priamo Coupons::check(); keď máte len kód, Coupons::code($code)->preview($cart) je obdobou previewDiscount() cez fasádu.

## Príklad: endpoint s náhľadom kupónu

```php
use RoundlyConsulting\Coupons\Facades\Coupons;

$coupon = Coupons::findOrFail((string) $request->input('code'));

return [
    'code' => $coupon->code,
    'redeemable' => $coupon->isRedeemableBy($request->user(), $cartTotal),
    'you_save' => (string) $coupon->previewDiscount($cartTotal),   // e.g. "4.50 EUR"
    'uses_left' => $coupon->remainingUsage(),
    'free_shipping' => $coupon->appliesToShipping(),
];
```

Jedna hraničná situácia: riadok Fixed zapísaný mimo CreateCouponAction bez meny sa nedá oceniť vôbec, preto preň previewDiscount() aj tak vyhodí InvalidCouponDefinition.

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