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 fotografií aj Pest expectations — používa nakonfigurovanú triedu.
- Cudzí kľúč v review_votes smeruje na tabuľku nakonfigurovaného modelu, takže funguje aj vlastný model s vlastnou tabuľkou.
- 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.