Uniquely identified models for Laravel 4 by using UUID as primary key

v1.0 2014-07-26 20:35 UTC

This package is not auto-updated.

Last update: 2021-09-13 17:34:05 UTC


Uniquely uses UUIDv4 as primary key for Laravel 4 Eloquent models. It automatically generates the UUID when your model is saved. Uniquely overwrites the save() method instead of attaching to Eloquent's creating event in order to circumvent some problems in combination with unit testing.


To install Uniquely run

$ composer require lukaskorl/uniquely

You can specify 1.* to include the most current version including possible future bugfixes.

Manual installation

If you choose to install Uniquely manually add the following line to your composer.json:

"require": {
    "lukaskorl/uniquely": "1.*"

and run

$ composer update

to install the package.


To use a Uniquely model simply extend your model class from Lukaskorl\Uniquely\Model.


use Lukaskorl\Uniquely\Model;

class User extends Model {


Proper database migrations

The id field of the corresponding database table for your model should be a 36-char string (i.e. VARCHAR(36)). If you are using Laravel 4 migrations you will have to set your id field like so:


use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateUsersTable extends Migration {

	public function up()
		Schema::create('users', function(Blueprint $table)
			$table->string('id', 36);
			// ... other columns ...

        Schema::table('users', function(Blueprint $table)

	 * Reverse the migrations.
	 * @return void
	public function down()


Uniquely is open-sourced software licensed under the MIT license.