UUIDを使う方法をサクッと書いていきます。
ライブラリインストール
composer require goldspecdigital/laravel-eloquent-uuid:^8.0
マイグレーション
public function up()
{
Schema::create('article_drafts', function (Blueprint $table) {
$table->id();
$table->uuid('uuid')->unique();
//以下は好きなものを書きましょう。
});
}
ちなみにUUIDをプライマリキーにする人もいますが、外部キーとして使用することもある場合は、別にUUID用のカラムを作った方が良きです。
リレーれション先でも128ビットの数値をデータとして持っておくのは非効率ですからね。
UUIDの生成(データの保存)
あとは下記のように保存したい時に記述してあげればOK。
use Illuminate\Support\Str;
//省略
'uuid'=>(string) Str::uuid(),
idを隠す
ついでにidは隠しておくと良きです。
class Article extends Model
{
protected $fillable = [
'uuid',//お好きなように
];
protected $hidden = [
'id' //こんな感じ。
];
}
これで、idが隠れます。