talanov / nanoid
Add Nano ID for Laravel models
Installs: 45
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/talanov/nanoid
Requires
- php: ^8.2
README
Generates unique URL safe hash ID like Y-0_e8Fh
Installation
composer require talanov/nanoid
Usage
use Talanov\Nanoid\HasNanoId;
use Talanov\Nanoid\NanoIdOptions;
...
class User ...
{
use HasNanoId;
...
public function getNanoIdOptions(): NanoIdOptions
{
return NanoIdOptions::make()
->length(8) // Optional. Default is 8.
->saveTo('nano_id'); // Optional. Default is 'nano_id'.
}
...
}
Schema::create('users', static function (Blueprint $table) {
$table->id();
$table->char('nano_id', 8)->unique();
...
});
User::findByNano(['4kO3l_sl', 'oPn_12Hg'])->get();
User::findByNano(['4kO3l_sl', 'oPn_12Hg'])->paginate();
User::findByNano('4kO3l_sl')->firstOrFail();