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

Vlastný model a preklady

Vlastný model knihy pohybov

Model Credit zámerne nie je final. Rozšírte ho o vzťahy, accessory alebo observery:

namespace App\Models;

use RoundlyConsulting\Credits\Models\Credit;

class LedgerEntry extends Credit
{
    protected $table = 'credits';

    // your own relations, accessors, observers ...
}

Potom naň nasmerujte konfiguráciu — vzťah, čítanie zostatkov aj scopy použijú nakonfigurovanú triedu:

// config/credits.php
'model' => App\Models\LedgerEntry::class,
  • Nenastavený kľúč — chýbajúci, null alebo prázdny — použije pribalený Credit.
  • Čokoľvek iné musí byť Credit alebo jeho podtrieda — závisia od toho scopy knihy pohybov aj stĺpce bucket a amount —, inak sa vyhodí InvalidConfigurationException z toolkitu s názvom kľúča. Cudzia trieda sa nikdy potichu nenahradí.
  • Kniha pohybov je na jednom pripojení: na vlastnom $connection vášho modelu, ak ho nastavuje, inak na pripojení vlastníka. Čítanie zostatkov a súčtov, zámok vlastníka aj transakcia okolo každej zmeny bežia tam, takže vlastník na pripojení tenanta má knihu pohybov pri sebe. Migrácia vytvára credits a credit_locks spolu — spustite ju na tomto pripojení.

Preklady

Texty výnimiek sú v prekladovej skupine credits::messages a balík ich obsahuje v angličtine aj slovenčine, takže pri jazyku aplikácie sk budú po slovensky. Publikujte ich tagom credits-translations a upravte lang/vendor/credits/{en,sk}/messages.php — alebo vedľa nich pridajte priečinok ďalšieho jazyka:

// lang/vendor/credits/en/messages.php
return [
    'insufficient' => 'Insufficient credits: tried to deduct :requested but only :available are available.',
    'insufficient_above_minimum' => 'Insufficient credits: tried to deduct :requested but only :spendable can be spent above the minimum balance of :minimum.',
    'not_denominated' => 'The credits bucket [:bucket] is not denominated in a currency; map it in credits.currencies to use money amounts.',
];

InsufficientCreditsException dosadí za :requested absolútnu hodnotu sumy a pri nenulovej hranici použije insufficient_above_minimum s :spendable a :minimum; BucketNotDenominatedException dosadí za :bucket vyhodnotený názov skupiny. Riadok, ktorý vo vašej publikovanej kópii chýba, sa načíta z balíka.

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.