fisharebest/laravel-floats

Laravel 迁移中的浮点数支持

1.5.0 2020-09-24 12:32 UTC

This package is auto-updated.

Last update: 2024-09-15 15:50:23 UTC


README

License: MIT Latest Stable Version Build Status Coverage Status Scrutinizer Code Quality

laravel-floats

此包允许在 Laravel 5、Laravel 6 和 Laravel 7 中进行数据库迁移,以在 MySQL 中创建 FLOAT 列。

什么?你的意思是 Laravel 不支持浮点列吗?

很遗憾,不是的。它只支持 双精度 浮点列。如果你需要 单精度 浮点数,你需要使用 DB::raw()

尽管 Laravel 文档在 https://laravel.net.cn/docs/5.8/migrations 中指出

$table->float('amount', 8, 2); 等效于具有精度(总位数)和刻度(小数位数)的 FLOAT 列。

$table->double('amount', 8, 2); 等效于具有精度(总位数)和刻度(小数位数)的 DOUBLE 列。

你可以在 laravel/framework#3151 和许多其他问题中了解更多信息。

安装

composer require fisharebest/laravel-floats

Laravel 5.5 及以后的版本中,包发现会处理所有事情。如果你使用 Laravel 5.4 或更早的版本,你需要在 config/app.php 中替换一个别名。

'aliases' => [
    ...
    'Schema' => \Fisharebest\LaravelFloats\Schema::class,
    ....
]

注意:这假设你正在使用 Laravel 通过别名自动加载你的外观。

如果你显式地使用 use Illuminate\Support\Facades\Schema; 导入 Laravel 的模式构建器,那么你需要将其更改为 use Fisharebest\LaravelFloats\Schema;

这个包是如何工作的?

我们扩展了 MySQL 语法,修改了 float() 的蓝图,然后将更新的语法绑定回 IoC 容器。