12345678910111213141516171819 |
- <?php
- namespace App;
- use App\Services\SnowflakeService;
- trait HasSnowflakePrimary
- {
- public static function bootHasSnowflakePrimary()
- {
- static::saving(function ($model) {
- if (is_null($model->getKey())) {
- $keyName = $model->getKeyName();
- $id = SnowflakeService::next();
- $model->setAttribute($keyName, $id);
- }
- });
- }
- }
|