---
title: "Vlastný model prepojenia — Connections for Laravel | Roundly"
description: "Cez connections.model nasaďte vlastnú podtriedu Connection s ďalším správaním a zapojte voliteľné integrácie ako reports-for-laravel."
url: https://roundly-consulting.com/sk/open-source/navody/connections-for-laravel/vlastny-model
language: sk
---

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

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

# Vlastný model prepojenia

Nasmerujte kľúč model na vlastnú podtriedu a pridajte metódy, relácie či traity. Fasáda, trait, akcie aj príkazy model získavajú práve cez tento kľúč:

```php
namespace App\Models;

use RoundlyConsulting\Connections\Models\Connection as BaseConnection;

class Connection extends BaseConnection
{
    public function isOwner(): bool
    {
        return $this->meta('role') === 'owner';
    }
}
```

```php
// config/connections.php
'model' => App\Models\Connection::class,
```

- Náhrada musí byť RoundlyConsulting\\Connections\\Models\\Connection alebo od nej dediť. Čokoľvek iné — neexistujúca trieda, nie model, model, ktorý nie je Connection — vyhodí InvalidConfigurationException z toolkitu s názvom kľúča; model balíka ju nikdy potichu nenahradí.
- Model číta názov tabuľky z kľúča table, pokiaľ vaša podtrieda nenastaví $table.
- HasConnections získava model cez chránenú metódu connectionModel(), ktorú môžete na prepojiteľnom modeli prepísať. Akcie však naďalej čítajú kľúč model, preto nech oba ukazujú na tú istú triedu.
- Ak používate podtriedu, spúšťajte model:prune nad ňou.

## Nahlasovanie prepojení cez reports-for-laravel

Connections zámerne nezávisí od reports-for-laravel. Ak chcete nahlasovanie prepojení, zapojte ho vo svojej aplikácii cez vlastný model — bez akejkoľvek zmeny v tomto balíku:

```php
// 1. Install reports in your app:  composer require roundly-consulting/reports-for-laravel
// 2. Point connections at your own model:  config/connections.php => 'model' => \App\Models\Connection::class
// 3. Make that model reportable:
use RoundlyConsulting\Connections\Models\Connection as BaseConnection;
use RoundlyConsulting\Reports\Contracts\Reportable;
use RoundlyConsulting\Reports\Traits\HasReports;

class Connection extends BaseConnection implements Reportable
{
    use HasReports;
}

// 4. Report / moderate through the reports facade:
Reports::report($connection)->by($user)->for(Reason::Spam)->create();
$connection->hasBeenReported();      // true
$connection->isReportedBy($user);    // dedupe UX
Connection::query()->mostReported(); // triage worst offenders
```

Schvaľovanie viacerými moderátormi sa preberá z reports → approvals. Keďže zapojenie žije vo vašej aplikácii, runtime balíka connections zostáva bez závislosti od reports.

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