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 offendersSchvaľ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 kryptomienOdoslaní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.