---
title: "Vlastné modely a makrá — Reviews for Laravel | Roundly"
description: "Nahraďte model Review či ReviewVote vlastným, zaregistrujte vlastné operácie fasády ako makrá a ovládajte alias fasády."
url: https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel/rozsirenie
language: sk
---

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

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

# Vlastné modely a makrá

Nasmerujte konfiguračný kľúč model (alebo vote\_model) na triedu, ktorá rozširuje model balíka, a pridajte vzťahy, scopes či accessory:

```php
namespace App\Models;

use Illuminate\Database\Eloquent\Builder;
use RoundlyConsulting\Reviews\Models\Review as BaseReview;

class Review extends BaseReview
{
    public function scopeFeatured(Builder $query): void
    {
        $query->approved()->verified()->withRatingOf(5);
    }
}

// config/reviews.php
'model' => App\Models\Review::class,
```

- Každé čítanie aj zápis — akcie, vzťahy, agregáty, observer agregátov, upratovanie odpovedí a fotografií, továrne aj Pest expectations — používa nakonfigurovanú triedu.
- Migrácie sa riadia nakonfigurovaným modelom: create\_reviews\_table vytvorí jeho tabuľku (parent\_id odkazuje na tú istú tabuľku) a už existujúcu tabuľku nechá tak; cudzí kľúč v review\_votes aj kaskádová migrácia smerujú tiež na ňu — takže funguje aj vlastný model s vlastnou tabuľkou.
- Máte už nesúvisiacu tabuľku reviews? Pred migráciou nasmerujte model na model s inou tabuľkou — inak create\_reviews\_table existujúcu tabuľku preskočí a balík bude zapisovať do nej.
- Nakonfigurovaná trieda musí byť model balíka alebo jeho podtrieda: čokoľvek iné — aj nesúvisiaci Eloquent model — vyhodí InvalidConfigurationException s názvom kľúča a nikdy sa potichu nenahradí pribaleným modelom. Nenastavený alebo prázdny kľúč použije model balíka.
- Scopes pochádzajú z traitu HasReviewScopes a fotografie z HasReviewPhotos, vaša podtrieda si teda ponechá oboje.

## Vlastné operácie (makrá)

ReviewsManager je Macroable, môžete si teda zaregistrovať vlastné operácie fasády:

```php
use RoundlyConsulting\Reviews\Facades\Reviews;
use RoundlyConsulting\Reviews\Models\Review;

Reviews::macro('flagged', fn () => Review::query()->rejected()->get());

Reviews::flagged();
```

## Alias fasády

Balík predvolene registruje globálny alias Reviews. Ak koliduje s triedou vo vašej aplikácii, nastavte REVIEWS\_REGISTER\_FACADE\_ALIAS=false — plne kvalifikovaná fasáda RoundlyConsulting\\Reviews\\Facades\\Reviews funguje ďalej. Iný reťazec zaregistruje alias pod týmto názvom; prázdna hodnota sa počíta ako nenastavená, takže sa alias Reviews zaregistruje aj tak.

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