DEV Community

JohnDivam
JohnDivam

Posted on • Edited on

1

Laravel money model

In Laravel, "Laravel Money" is not a built-in package or feature. However, you might be referring to handling money-related data in your Laravel application. To handle money values effectively, you can use the Laravel's native Eloquent attributes and mutators. Here's how you can achieve this:

namespace App\Models;


class Money
{
    private $cent;

    private function __construct($cent)
    {
        $this->cent = $cent;
    }

    public static function fromCent($cent)
    {
        return new static($cent);
    }

    public function inCurrencyAmount()
    {
        return round($this->cent / 100, 2);
    }

}

Enter fullscreen mode Exit fullscreen mode

Using with Service model , deservedAmount column

$deservedAmount = (Money::fromCent(Service::sum('deservedAmount') ?? 0))->inCurrencyAmount();

Enter fullscreen mode Exit fullscreen mode

Add seter/geter in Service model

 public function setDeservedAmountAttribute($value)
    {
        $this->attributes['deservedAmount'] = $value * 100;
    }

    public function getDeservedAmountAttribute($value)
    {
        return $value / 100;
    }
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay