Looking for a new maintainer. If no maintainer is found by December 2025, this repository will be deleted.
Use hashids instead.
Enables automatic Eloquent model ID obfuscation in routes using Optimus.
-
Run the Composer require command to install the package
composer require propaganistas/laravel-fakeid
-
The package will automatically register itself.
-
Run the following artisan command to auto-initialize the package's settings
php artisan fakeid:setup
Simply import the RoutesWithFakeIds
trait into your model:
use Illuminate\Database\Eloquent\Model;
use Propaganistas\LaravelFakeId\RoutesWithFakeIds;
class MyModel extends Model
{
use RoutesWithFakeIds;
}
All routes generated for this particular model will expose a fake ID instead of the raw primary key. Moreover incoming requests containing those fake IDs are automatically converted back to a real ID. The obfuscation layer is therefore transparent and doesn't require you to rethink everything. Just use Laravel as you normally would.
Assuming an Article
model having a named show
route.
routes/web.php
:
Route::get('articles/{article}', 'ArticleController@show')->name('articles.show');
app/Article.php
use Illuminate\Database\Eloquent\Model;
use Propaganistas\LaravelFakeId\RoutesWithFakeIds;
class Article extends Model
{
use RoutesWithFakeIds;
}
A route to this specific endpoint can now be generated using Laravel's route()
helper, and it will automatically contain a fake ID:
<a href="{{ route('articles.show', $article) }}"> {{ $article->name }} </a>