nanokaweb / eloquent-tokenable
Allows using tokens (HashIDs) instead of id in Laravel Eloquent models.
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 2
pkg:composer/nanokaweb/eloquent-tokenable
Requires
- php: >=5.4.0
- hashids/hashids: ^1.0
- illuminate/database: 5.*
This package is not auto-updated.
Last update: 2025-10-18 00:22:51 UTC
README
Allows using tokens (HashIDs) instead of id in Laravel Eloquent models.
Setup
Add the package to the require section of your composer.json and run composer update
"kduma/eloquent-tokenable": "^1.1"
Prepare models
In your model add following lines:
use \KDuma\Eloquent\Tokenable;
protected $appends = array('token');
Optionally you can add also:
- 
protected $salt = 'SALT';
 A salt for making hashes. Default is table name. This salt is added to yourAPP_KEY.
- 
protected $length = 10;
 A salt length. Default is 10.
- 
protected $alphabet = 'qwertyuiopasdfghjklzxcvbnm1234567890';
 A hash alphabet. Default isabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Usage
- $model->token- Generate tokens
- Model::whereToken($id)->first()- Find by token. (- whereTokenis query scope)
Hashids
A special thanks to creators of hashids, a PHP class that this package is based.
Packagist
View this package on Packagist.org: kduma/eloquent-tokenable