A hashing library that will generate and add hashes to your laravel models.

v3.0.2 2021-07-05 16:41 UTC

This package is auto-updated.

Last update: 2024-06-05 23:33:09 UTC


composer require pderas/shambles

Table Of Contents

  1. About
  2. Installation
  3. Requirements
  4. Instructions
  5. Usage
  6. License


This package is designed for Laravel that adds a hash value to a model into the database.



To use this package, the following requirements must be met:


Once you have succesfully required the package, (v5.3 only) you must register the service provider in your config/app.php file.



If you would like a config file for shambles to define defaults for all models.

php artisan vendor:publish --provider="Pderas\Shambles\ShamblesServiceProvider"

Back End

To use shambles you must make add a column 'hash' to the desired models in the database.

e.i. in a migration somewhere...

class MyMigration extends Migration
     * Run the migrations.
     * @return void
    public function up()
        Schema::table('my_table', function(Blueprint $table) {

Then all you have to do is add the Trait to the models

use Pderas\Shambles\Traits\ShamblesTrait;

class MyModel extends Model
    use ShamblesTrait;

    $defaultHashSize = 36;      // hash length can be set on a per model basis
    $defaultRouteKey = 'hash';  // route key can be set on a per model basis (laravel default is 'id', shambles default is 'hash') 


Now whenever you create a new model it will auto add a hash to it. You can then use that hash for lookups and obscure the models auto-incrementing id.

Get Request ...

function myModelRouteFn(Request $request, MyModel $my_model)


This project is covered under the MIT License. Feel free to use it wherever you like.