NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Connections for Laravel

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ľúč:

namespace App\Models;

use RoundlyConsulting\Connections\Models\Connection as BaseConnection;

class Connection extends BaseConnection
{
    public function isOwner(): bool
    {
        return $this->meta('role') === 'owner';
    }
}
// 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:

// 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

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

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.