Eloquent Hashids 包:实时生成 Hashids
发布于 作者: Paul Redmond
Eloquent Hashids 是由 Mohammad Ali Tavassoli 开发的 Laravel Eloquent 模型实时 Hashids 包。
该 [包] 通过实时对 Laravel Eloquent 模型进行编码/解码来为其添加 Hashids,而不是将其持久化到数据库中。因此,无需使用额外的数据库列,并且通过在查询中使用主键提高了性能。
根据 README,该包的主要功能包括:
- 为模型生成 Hashids
- 将 Hashids 解析为模型
- 能够为每个模型定制 Hashid 设置
- 使用 Hashids 进行路由绑定(可选)
以下是一个使用提供的特性进行 Hashid 和路由绑定的示例模型:
use Illuminate\Database\Eloquent\Model;use Mtvs\EloquentHashids\HasHashid;use Mtvs\EloquentHashids\HashidRouting; class Item extends Model{ use HasHashid, HashidRouting;}
以下是使用此包与您的模型交互的基本 API:
// Generating the model hashid based on its key$item->hashid(); // Finding a model based on the provided hashid or// returning null on failureItem::findByHashid($hashid); // Finding a model based on the provided hashid or// throwing a ModelNotFoundException on failureItem::findByHashidOrFail($hashid); // Decoding a hashid to the integer id$item->hashidToId($hashid); // Getting the name of the hashid connection$item->getHashidsConnection();
您可以在 mtvs/eloquent-hashids 上了解有关此包的更多信息,获取完整安装说明以及查看源代码。