coddin-web/nova-money-field

一个用于金钱的 Laravel Nova 字段。

v1.5.2 2021-04-11 08:12 UTC

README

Latest Version on Packagist Total Downloads

screenshot 1

安装

您可以通过 composer 在使用 Nova 的 Laravel 应用中安装此包。

composer require vyuldashev/nova-money-field

用法

在资源中

// ...
use Vyuldashev\NovaMoneyField\Money;

public function fields(Request $request)
{
    return [
        // ...
        Money::make('Balance'),
    ];
}

默认使用 USD 货币,您可以通过传递第二个参数来更改此设置。

Money::make('Balance', 'EUR'),

您可以使用 locale 方法定义用于格式化值的区域设置,默认情况下将使用浏览器区域设置进行格式化。

Money::make('Balance')->locale('ru-RU'),

如果您在数据库中以小数单位存储金钱值,请使用 storedInMinorUnits 方法。字段将自动将小数单位转换为显示的基础值,以及将基础值转换为小数单位进行存储。

Money::make('Balance', 'EUR')->storedInMinorUnits(),

如果您需要使用无法转换为列名的名称(例如,名称为 'Balance' 而列名为 remaining_balance),则可以将此作为 make/constructor 的第三个参数传递。

请注意:此字段以及所有字段列名应存在于您的模型类中并可供使用,否则您可能会遇到 SQL 错误。

Money::make('Balance', 'EUR', 'remaining_balance'),