---
title: "Certifikáty na modeloch — Certificates for Laravel | Roundly"
description: "Pridajte HasCertificates tenantom, webom či tímom a vyžadujte, vyhľadávajte a vypisujte ich certifikáty cez morph certifiable."
url: https://roundly-consulting.com/sk/open-source/navody/certificates-for-laravel/certifikaty-na-modeloch
language: sk
---

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

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

# Certifikáty na modeloch

Trait HasCertificates pridajte ľubovoľnému Eloquent modelu, ktorý vlastní domény — tenantovi, webu, tímu. Certifikáty sa pripájajú cez nullable morph certifiable v registri. Vystavíte ich cez fasádu s owner(), alebo skratkou requestCertificate() z traitu, ktorá volá ten istý CertificatesManager::issue():

```php
use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Certificates\Concerns\HasCertificates;
use RoundlyConsulting\Certificates\Facades\Certificates;

class Tenant extends Model
{
    use HasCertificates;
}

Certificates::for('shop.example.com')->owner($tenant)->issue(); // issue, owned by $tenant

$tenant->requestCertificate('shop.example.com');           // the same shorthand, via the manager
$tenant->requestCertificate('shop.example.com', 'acme');   // ...on a specific driver
$tenant->certificateFor('shop.example.com');               // ?Certificate — the latest
$tenant->hasCertificateFor('shop.example.com');            // bool
$tenant->certificates()->get();                            // every certificate it owns
$tenant->activeCertificates();
$tenant->expiringCertificates(days: 14);
```

- certificates() — vzťah MorphMany s nakonfigurovaným modelom registra.
- requestCertificate($domain, ?$driver) — vystaví certifikát, ktorého vlastníkom je model, cez manager, takže ho Certificates::fake() zaznamená.
- certificateFor($domain) — posledný certifikát modelu pre primárnu doménu, alebo null.
- hasCertificateFor($domain) — či doménu pokrýva niektorý z certifikátov modelu, ako primárna doména alebo SAN doména.
- activeCertificates() — certifikáty modelu v scope active().
- expiringCertificates(?$days) — certifikáty s expiráciou do $days dní (predvolene renewal.threshold\_days) alebo už po expirácii — scope expiring().

## Vlastník z buildera

Builder priradí vlastníka spolu so SAN doménami, driverom a meta údajmi:

```php
Certificates::for('shop.example.com')
    ->alsoFor('www.shop.example.com')
    ->owner($tenant)
    ->using('acme')
    ->issue();
```

## Životný cyklus cez fasádu

Trait certifikáty len vystavuje a číta. Obnovu, odvolanie a expiráciu certifikátu vlastníka riešite cez fasádu:

```php
use RoundlyConsulting\Certificates\Facades\Certificates;

Certificates::renew($tenant->certificateFor('shop.example.com'));
Certificates::for('shop.example.com')->revoke('tenant closed');
```

Vlastník nie je dôležitý len pre vyhľadávanie: ak neexistuje explicitný ani nakonfigurovaný príjemca, upozornenia na expiráciu idú vlastníkovi certifikátu cez certifiable (pozri Sledovanie expirácie). Ak majú vlastníci UUID alebo ULID kľúče, použite key\_type uuid alebo ulid.

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