roboticsexpert / laravel-decimal
为您的laravel模型添加十进制功能的一种简单方法
1.0.0
2022-02-26 14:38 UTC
Requires
- ext-decimal: *
This package is not auto-updated.
Last update: 2024-09-22 03:17:24 UTC
README
此包使用php-decimal来处理十进制。您可以通过此链接查看文档
您可以在PHP项目中使用php-decimal,但如果您需要在模型中拥有十进制,那么您应该在laravel项目中拥有十进制转换。使用此项目,您将获得这些:
此包帮助您在模型中获得Decimal对象,并且在进行类型转换和保存到数据库时不会丢失任何信息。
安装
composer require roboticsexpert/laravel-decimal
使用
安装后,转到您需要添加十进制属性的模型,并在cast数组中添加该字段,如下所示
use Roboticsexpert\LaravelDecimal\DecimalCast; class YourModel extend Model { public $cast=[ 'your_field' => DecimalCast::class, ]; }
添加后,您可以像这样设置模型中的值
$value = new \Decimal\Decimal('12345.131123123123123'); $model=new YourModel(); $model->your_filed=$value; ... (other stuff) $model->save();
获取值时将返回Decimal对象,您可以对其进行任何操作
$model=YourModel::first(); $model->your_filed // \Decimal\Decimal "12345.131123123123123" //add 123 to your field $model->your_field=$model->your_field->add('123'); //sub 123 from your field $model->your_field=$model->your_field->sub('123'); // check php-decimal package for other methods you can use!