kduma / eloquent-snowflakeable
简化了在 Laravel Eloquent 模型中使用和生成 SnowFlake ID 的过程。
dev-master
2023-12-29 16:29 UTC
Requires
- php: >=8.1
- godruoyi/php-snowflake: dev-snowflake-forid
This package is auto-updated.
Last update: 2024-08-29 18:29:17 UTC
README
简化了在 Laravel Eloquent 模型中使用和生成 SnowFlake ID 的过程。
设置
使用 composer 安装它
composer require kduma/eloquent-snowflakeable
准备模型
在你的模型内部(不要在文件顶部)添加以下行
use \KDuma\Eloquent\Snowflakeable;
在数据库中创建 ulid 字符串字段。如果你使用迁移,可以使用以下片段
$table->unsignedBigInteger('sfid')->unique();
用法
默认情况下,它会在第一次保存时生成 snowflake id。
$model->regenerateSnowflake()- 生成新的 snowflake id。(请记得自己保存它)Model::whereSnowflake($id)->first()- 通过 snowflake id 查找。(whereSnowflake是查询范围)Model::bySnowflake($id)- 通过 snowflake id 查找。$model->snowflake- 获取ParsedSnowflake对象。$model->snowflake->getDateTime()- 获取 snowflake 创建时间的Carbon对象。
Packagist
在 Packagist.org 上查看此包:kduma/eloquent-snowflakeable