helvetitec/laramoney

PHPMoney implementation for Laravel
2,162
Install
composer require helvetitec/laramoney
Latest Version:v1.5.9
Last Updated:Sep 20, 2026
Links: GitHub  ·  Packagist
Maintainer: daredloco

laramoney

MoneyPHP implementation for Laravel

Installation

Install from composer:

composer require helvetitec/laramoney

Usage

  1. Use LaraMoneyCast to cast values to a json field like ['amount' => 100, 'currency' => 'brl']
  2. Use LaraMoneySimpleCast to cast values directly to an integer field with an optional 'currency' field inside the model.
  3. Use Money facade for anything else

LaraMoneyCast

It's easy to store and receive data from the database with the LaraMoneyCast. The value can either be NULL, an array of ['amount', 'currency'], a numeric value or a \Money\Money object.

The database field needs to be a JSON (compatible) field.

Add to the Models cast:

protected $casts = [
    'price' => LaraMoneyCast::class
];

LaraMoneySimpleCast

The simple cast will store the value as a string, not as a JSON object for easier sorting etc. The value can either be NULL, an array of ['amount', 'currency'], a numeric value or a \Money\Money object.

The database field for price and currency needs to be a string.

Add to the Models cast:


protected $fillable = [
    'price',
    'currency' //This is the default field, but can be changed inside the config field 'model_currency_field'.
];

protected $casts = [
    'price' => LaraMoneySimpleCast::class, //Will automatically set the 'currency' field as well
];

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

641,106,524 9,700
laravel/framework

The Laravel Framework.

593,882,149 34,959
laravel/tinker

Powerful REPL for the Laravel framework.

502,645,077 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

418,291,778 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

394,964,158 4,660

Version History

Version Released License
v1.5.9
v1.5.8
v1.5.7
v1.5.6
v1.5.5