Filament: Currency Fields with Casts from Cents

Dealing with Money can be complicated. It's not only about float/integer in DB, but also about Currency, especially with multiple currencies. We will show you how to deal with them, in this example.

FilamentExamples ThumbBase (26)

Get the Source Code:

How it works

First, we have created a Currency Model with a name and symbol fields. Then, we have seeded some basic currencies:


use App\Models\Currency;
// ...
$currencies = [
'name' => 'USD',
'symbol' => '$',
'name' => 'EUR',
'symbol' => '€',
'name' => 'GBP',
'symbol' => '£',
foreach ($currencies as $currency) {
// ...

Next, we created a model that uses currency. In our case, this was SubscriptionPlan which has a price. To store the price, we have created a MoneyCast that stores the price as an integer in the database:

php artisan make:cast MoneyCast

In the MoneyCast, we have defined the set and get methods to store and retrieve the...

The FULL tutorial is available after the purchase: in the Readme file of the official repository you would get invited to.
Get the Source Code: All 50 Premium Examples for $99 Only Project Examples for $59