Как создать столбец внешнего ключа в миграции Laravel: несколько методов, объясненных примерами кода

Чтобы создать столбец внешнего ключа при миграции Laravel, вы можете использовать следующие методы:

  1. Метод 1: использование метода foreignId

    Schema::table('table_name', function (Blueprint $table) {
       $table->foreignId('foreign_key_column')->constrained('related_table');
    });
  2. Метод 2: использование метода unsignedBigInteger

    Schema::table('table_name', function (Blueprint $table) {
       $table->unsignedBigInteger('foreign_key_column');
       $table->foreign('foreign_key_column')->references('id')->on('related_table');
    });
  3. Метод 3: использование foreignметода

    Schema::table('table_name', function (Blueprint $table) {
       $table->foreign('foreign_key_column')->references('id')->on('related_table');
    });

В методе 1 метод foreignIdиспользуется для создания столбца внешнего ключа вместе с методом constrained, который устанавливает ограничение внешнего ключа для связанной таблицы.

В методе 2 метод unsignedBigIntegerиспользуется для создания столбца большого целого числа без знака, а затем метод foreignиспользуется для настройки ограничения внешнего ключа.

В методе 3 метод foreignиспользуется непосредственно для настройки ограничения внешнего ключа. Предполагается, что тип столбца совпадает с первичным ключом связанной таблицы.