Learn or Die

生涯勉強。Macです。

Laravelの外部キー制約

外部キー制約

外部キー制約とは、親テーブルと子テーブルの2つのテーブル間でデータの整合性を保つために設定される制約。
外部キー制約を使うことで、親テーブル側で更新や削除をしたとき、紐付いている子テーブルも同時に更新や削除を行ったりできる。

Laravelの外部キー制約

以下の例では、user_idカラムは、usersテーブルのidカラムを参照している。
さらにonDelete('cascade')を付けることで、いいねをしたユーザーがusersテーブルから削除された場合には、likesテーブルから、そのユーザーに紐づくレコードが削除される。

<?php

Schema::create('likes', function (Blueprint $table) {
     $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});