bretterer/laravel-hashid
最新稳定版本:v0.1.2
Composer 安装命令:
composer require bretterer/laravel-hashid
包简介
Generate and use HashIds for your Laravel models, just like native ULIDs and UUIDs
README 文档
README
Generate and use HashIds for your Laravel models, just like native ULIDs and UUIDs.
This package allows you to generate and use HashIds for your Laravel models, just like native ULIDs and UUIDs. It is easy to integrate and works seamlessly with Laravel's Eloquent models.
Installation
Install via composer:
composer require bretterer/laravel-hashid
Usage
1. Add the Trait to Your Model
use Bretterer\LaravelHashId\Traits\HasHashIds; class User extends Model { use HasHashIds; // ... }
2. Use HashId Columns in Migrations
Schema::create('users', function ($table) { $table->hashId('id', 16)->primary(); $table->string('name'); }); Schema::create('posts', function ($table) { $table->hashId('id', 16)->primary(); $table->foreignHashId('user_id', 'users', 'id', 16); $table->string('title'); });
3. Creating Models
$user = User::create(['name' => 'Alice']); echo $user->id; // 16-character base62 HashId $post = Post::create(['user_id' => $user->id, 'title' => 'Hello']);
4. Custom Prefixes
class PrefixedUser extends Model { use HasHashIds; public function idPrefix(): string { return 'usr'; } } $user = PrefixedUser::create(['name' => 'Dave']); echo $user->id; // usr_XXXXXXXXXXXXXXX
5. HashId Generator
use Bretterer\LaravelHashId\LaravelHashId; $generator = new LaravelHashId(); $hashId = $generator->generate(16); // Random HashId $hashIdFromValue = $generator->generateFromValue('value', 'salt', 16); // HashId from value
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Brian Retterer
- All Contributors
- Special thanks to Spatie for their excellent Laravel package skeleton project.
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 273
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-18