How To Add Foreign Key In Laravel 10 Migration

Websolutionstuff
2 min readJul 17, 2023

--

In this article, we will see how to add a foreign key in laravel 10 migration. Here, we will learn about laravel 10, add foreign key using migration. Laravel also provides support for creating foreign key constraints, which are used to force referential integrity at the database level.

So, let's see how to add a foreign key in laravel 10 migration, laravel 10 foreign key migration, how to set a foreign key in laravel 10, laravel drop foreign key, and laravel migration add a foreign key to an existing table.

For example, let's define a user_id column on the posts a table that references the id column on a users table.

Example:

php artisan make:migration create_posts_table

Migration:

<?php

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

class CreatePostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('body');
$table->timestamps();
});

Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->unsignedBigInteger('post_id');
$table->text('comment');
$table->timestamps();

$table->foreign('user_id')->references('id')->on('users');
$table->foreign('post_id')->references('id')->on('posts');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('comments');
Schema::dropIfExists('posts');
}
}

Example:

Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained();
$table->foreignId('post_id')->constrained();
$table->text('comment');
$table->timestamps();
});

--

--

Websolutionstuff
Websolutionstuff

Written by Websolutionstuff

I am Laravel and PHP Developer. I have also Good Knowledge of JavaScript, jQuery, Bootstrap and REST API. Visit Website: http://websolutionstuff.com/

No responses yet