Configurando UUID nos seus Models no Laravel

Antes de iniciar um grande motivo para usar UUID é a privacidade dos seus dados, ou seja, o usuário final não sabe quais são os ids dentro do seu banco de dados, o que remete a informações mais seguras, exemplo:

👎 http://meusite.co/produto/1
👍 http://meusite.co/produto/23d25a02–83d6–11e8-adc0-fa7ae01bbebc

O laravel 5.6 já vem por padrão uma biblioteca para geração do UUID, porém eu gosto de usar o seguinte pacote:

composer require binarycabin/laravel-uuid

aí em seus models basta criar uma migração tipo string com nome "uuid", exemplo:

php artisan make:migration add_uuid_to_user

na migração:

Schema::table('users', function($table) {
$table->string('uuid');
});

E na sua classe adicione a seguinte linha:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{

use \BinaryCabin\LaravelUUID\Traits\HasUUID; //add essa linha

}

E pronto!! Toda vez que criar um novo registro será gerado automaticamente um uuid para seu registro.

De brinde esse pacote trás o seguinte método:

\App\User::findByUUID('') //<<--- esse :D

Link do repositório: https://github.com/binarycabin/laravel-uuid