forest-lynx/moonshine-decimal-field

1.3.1 2024-08-21 08:43 UTC

This package is auto-updated.

Last update: 2024-09-21 08:57:54 UTC


README

Latest Stable Version Total Downloads Software License
Laravel PHP PHP

英文文档(English)

MoonShine管理面板中用于处理十进制数的字段 MoonShine. 从Text字段继承。在编辑时,字段应用了@money Alpine.js掩码。

内容

安装

安装命令

composer require forest-lynx/moonshine-decimal-field

使用

<?php
//...
use ForestLynx\MoonShine\Fields\Decimal;
//...
Decimal::make('Price', 'price');

注意

在创建字段时使用 NumberFormatter php-intl。默认情况下,地区设置来自项目配置,要重写它,请使用 locale() 方法。

方法

locale(string $locale):

  • $locale 接受一个字符串形式的地区,例如:'ru_RU' 或 'ru'。

precision(int $precision, ?bool $isNaturalNumber):

  • $precision 接受一个整数,表示小数部分的位数。
  • $isNaturalNumber 可选参数,默认 false。负责处理自然数,例如,如果您的数据库中的值以整数形式存储。 naturalNumber(?int $precision = 2)
  • $precision 接受一个整数,表示小数部分的位数,默认 2。

示例:自然数,字段在数据库中的值 = 12564。假设根据您的需求,它应该转换为 125.64。

<?php
use ForestLynx\MoonShine\Fields\Decimal;
//...
Decimal::make('Sum', 'sum')
   ->precision(2, true);
//or
Decimal::make('Sum', 'sum')
   ->naturalNumber();
//...

注意

$precisionprecision()naturalNumber() 方法中的值会覆盖之前通过这些方法定义的小数位数。

<?php
use ForestLynx\MoonShine\Fields\Decimal;
//...
Decimal::make('Sum', 'sum')
  ->precision(3)
  ->naturalNumber(4);
//...

此代码将重写小数位数后的数字为 4。

注意

在处理自然数时,从 request 获取的字段值在保存之前会进行反向转换。

单位

指定存储单位的字段

方法

unit(string $unit, string|array $data):

  • $unit - 数据库中的列名称。
  • $data - 包含数据的数组或包含单位数据的枚举类的名称。

unitDefault(mixed $default):

  • $default - 字段的默认值。

使用示例

<?php
use ForestLynx\MoonShine\Fields\Decimal;
//...
Decimal::make('Price', 'price')
    ->unit('unit', ['килограмм.', 'литр'])
    ->unitDefault(0);
//or
Decimal::make('Price', 'price')
    ->unit('unit', [0 => 'килограмм.', 1 => 'литр'])
    ->unitDefault(1);
//or
Decimal::make('Price', 'price')
    ->unit('unit', UnitEnum::class)
    ->unitDefault(UnitEnum::KILOGRAM);
//...

在管理面板中的样子

许可证

MIT 许可证.