Skip to main content
Category:

Eloquent: Laravel 7+ Foreign Keys


From Laravel 7, in migrations you don't need to write two lines for relationship field - one for the field and one for foreign key. Use method foreignId().

Before Laravel 7

Schema::table('posts', function (Blueprint $table)) {
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
}

From Laravel 7

Schema::table('posts', function (Blueprint $table)) {
$table->foreignId('user_id')->constrained();
}

Or, if your field is different from the table reference

Schema::table('posts', function (Blueprint $table)) {
$table->foreignId('created_by_id')->references('id')->on('users');
}

Riadh Rahmi

Senior Web Developer PHP/Drupal & Laravel

I am a senior web developer, I have experience in planning and developing large scale dynamic web solutions especially in Drupal & Laravel.

Web Posts

Search

Page Facebook