*/ use HasFactory; protected $fillable = [ 'credit_wallet_id', 'user_id', 'amount_credits', 'balance_after', 'type', 'description', 'reference_type', 'reference_id', ]; protected function casts(): array { return [ 'amount_credits' => 'integer', 'balance_after' => 'integer', 'type' => CreditTransactionType::class, ]; } public function wallet(): BelongsTo { return $this->belongsTo(CreditWallet::class, 'credit_wallet_id'); } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function reference(): MorphTo { return $this->morphTo(); } }