Allows using tokens (HashIDs) instead of id in Laravel Eloquent models.
Add the package to the require section of your composer.json and run composer update
"kduma/eloquent-tokenable": "^1.1"
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
$model->token
- Generate tokensModel::whereToken($id)->first()
- Find by token. (whereToken
is query scope)
A special thanks to creators of hashids, a PHP class that this package is based.
View this package on Packagist.org: kduma/eloquent-tokenable