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:
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:
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 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.