---
title: "Migrácia z vlastnej triedy Money — Money for Laravel | Roundly"
description: "Preveďte volania z vlastnej triedy Money na tento balík — obe môžu fungovať vedľa seba, kým postupne presúvate kód."
url: https://roundly-consulting.com/sk/open-source/navody/money-for-laravel/migracia
language: sk
---

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

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

# Migrácia z vlastnej triedy Money

Balík má vlastný namespace RoundlyConsulting\\Money a nepoužíva žiadny z bežných pôvodných názvov tried, takže stará aj nová trieda môžu fungovať vedľa seba, kým postupne presúvate volania:

| Pôvodné volanie | Money for Laravel | Poznámka |
| --- | --- | --- |
| Money::of($minor, 'EUR') | `Money::ofMinor($minor, 'EUR')` | Money::of() zámerne neexistuje. |
| getMinorAmount() / getAmount() vracajúce int | `minor()` | Kanonický reťazec — minorInt() použite len tam, kde int naozaj potrebujete. |
| getAmount() vracajúce najmenšie jednotky ako reťazec | `minor()` | Nie toDecimal(). |
| (int) $row->price | `Money::ofMinor($row->price, $code)` | Surové sumy nikdy nepretypujte — nad int64 PHP stráca presnosť. |
| $a->getAmount() > $b->getAmount() | `$a->isGreaterThan($b)` | PHP porovnáva číselné reťazce nad int64 cez floaty. |
| getCurrency()->getCode() | `currency()->code` | — |
| plus() / minus() / times() | `add() / subtract() / multiply()` | — |
| subtract() orezaný na nulu | `Discount::applyTo()` | Alebo Money::max(\[$x->subtract($y), Money::zero($c)\]). |
| multiply(float) / divide(float) | `multiply('1.19') / divide(Ratio::of(…))` | Alebo percentage('20') — bez floatov. |
| fromMajor(float) | `Money::ofMajor('10.50', $code)` | Reťazec alebo int; float je TypeError. |
| format($locale) deliace stovkou | `format($locale)` | Podľa exponentu: JPY 0, BHD 3, vlastné až 18. |
| allocate(list<int>) | `allocate(...$ratios)` | Variadické inty, celočíselné reťazce alebo desatinné čísla. |
| Float grossDivisor() na sadzbe dane | `TaxRate::fromBasisPoints($bp)->netFromGross($gross)` | Jeden presný zlomok, jedno zaokrúhlenie. |
| Ručne písané preškálovanie najmenších jednotiek | `MinorUnits::rescale()` | Alebo MinorUnits::toDecimal(). |
| Konfiguračné inty ako PHP\_ROUND\_HALF\_UP | `RoundingModes::fromValue(config('pkg.rounding'), 'pkg.rounding')` | Názvy RoundingMode v snake\_case. |

## Databázové stĺpce

- Existujúce bigint stĺpce so sumami fungujú s AsMoney ďalej; nad int64 zápis odmietne databáza.
- Nové stĺpce: $table->money('price', currency: 'currency') — suma decimal(38, 0) a stĺpec meny.
- Cast ukladá len kód meny, preto musí byť každá uložená mena registrovaná (zoznam ISO alebo currencies.custom).

## Floaty na vstupe

Nahraďte (float) $request->input('price') volaním $request->money('price', 'EUR') — JSON 1.1 bude 110 centov, nie 111 — a vopred validujte cez MoneyAmount::in('EUR').

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