---
title: "Udalosti modelov (Trackable) — Plausible for Laravel | Roundly"
description: "Trait Trackable posiela udalosti Plausible pri udalostiach životného cyklu Eloquentu — vlastné props, URL a web pre každý model."
url: https://roundly-consulting.com/sk/open-source/navody/plausible-for-laravel/udalosti-modelov
language: sk
---

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

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

# Udalosti modelov (Trackable)

Trait Trackable posiela udalosti Plausible pri udalostiach životného cyklu Eloquentu. Udalosť modelu priraďte k názvu udalosti v $plausibleEvents a voliteľne zostavte props pre každý model:

```php
use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Plausible\Concerns\Trackable;

class Order extends Model
{
    use Trackable;

    /** @var array<string, string> */
    protected array $plausibleEvents = [
        'created' => 'Order Placed',
        'updated' => 'Order Updated',
        'deleted' => 'Order Cancelled',
    ];

    /** @return array<string, mixed> */
    protected function plausibleEventProps(string $event): array
    {
        return ['total' => $this->total, 'plan' => $this->plan];
    }
}
```

Ako kľúč funguje akákoľvek udalosť Eloquent modelu — created, updated, deleted a ďalšie. Mapa sa číta z predvolenej hodnoty vlastnosti pri bootovaní modelu.

## Úprava obsahu udalosti

Prepíšte tieto chránené metódy; prvé dve dostanú názov udalosti Plausible (napríklad Order Placed):

- plausibleEventProps(string $event) — vlastné props odoslané s udalosťou (predvolene žiadne).
- plausibleEventUrl(string $event) — URL priradená udalosti; predvolene URL aplikácie, tabuľka a kľúč modelu.
- plausibleEventSite() — web, kam udalosť ide; predvolene config('plausible.site'), hodnota null udalosť preskočí.

```php
// The URL attributed to the event — defaults to {app.url}/{table}/{key}
protected function plausibleEventUrl(string $event): string
{
    return route('orders.show', $this);
}

// The site the event goes to — defaults to config('plausible.site'); null skips the event
protected function plausibleEventSite(): ?string
{
    return $this->tenant->analytics_domain;
}
```

## Ručné odoslanie udalosti

```php
// Same site, visitor and queue rules as the lifecycle hooks — any event name
$order->dispatchPlausibleEvent('Order Refunded');
```

## Transakcie

Každá udalosť počká, kým sa zmena v databáze naozaj uloží: v transakcii sa odošle (alebo zaradí do fronty) až po jej potvrdení a pri rollbacku vôbec. Mimo transakcie odíde hneď:

```php
use Illuminate\Support\Facades\DB;

DB::transaction(function () {
    Order::create(['total' => 99]);   // 'Order Placed' is sent (or queued) once the transaction commits
});                                   // a rolled-back save is never tracked
```

## Návštevník, web a fronta

Návštevník sa berie z aktuálneho requestu, ak existuje. V konzole alebo vo workeri fronty — kde Laravel vytvorí request bez routy so zástupným user-agentom Symfony a adresou 127.0.0.1 — alebo keď request nemá user-agent či IP, sa použijú plausible.tracking.user\_agent a plausible.tracking.ip\_address. Udalosti sa posielajú len vtedy, keď je web známy, a cez frontu, pokiaľ plausible.tracking.queue nie je false.

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