kduma/eloquent-snowflakeable

简化了在 Laravel Eloquent 模型中使用和生成 SnowFlake ID 的过程。

dev-master 2023-12-29 16:29 UTC

This package is auto-updated.

Last update: 2024-08-29 18:29:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

简化了在 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