Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.62 KB

README.md

File metadata and controls

33 lines (23 loc) · 1.62 KB

LV-eloquent-snowflakeable

Latest Stable Version Total Downloads Latest Unstable Version License

Eases using and generating SnowFlake ID's in Laravel Eloquent models.

Setup

Install it using composer

composer require kduma/eloquent-snowflakeable

Prepare models

Inside your model (not on top of file) add following lines:

use \KDuma\Eloquent\Snowflakeable;

In database create ulid string field. If you use migrations, you can use following snippet:

$table->unsignedBigInteger('sfid')->unique();

Usage

By default, it generates snowflake id on first save.

  • $model->regenerateSnowflake() - Generate new snowflake id. (Remember to save it by yourself)
  • Model::whereSnowflake($id)->first() - Find by snowflake id. (whereSnowflake is query scope)
  • Model::bySnowflake($id) - Find by snowflake id.
  • $model->snowflake - Gets ParsedSnowflake object.
  • $model->snowflake->getDateTime() - Gets Carbon object with snowflake creation time.

Packagist

View this package on Packagist.org: kduma/eloquent-snowflakeable