РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
119 of 1392 menu

Метод after

Метод after применяется к определению колонки в схеме базы данных и позволяет задать, после какой существующей колонки должна быть размещена новая колонка. Этот метод полезен при изменении структуры таблицы, когда важно контролировать порядок полей. Метод принимает один параметр - имя колонки, после которой будет размещена текущая колонка.

Синтаксис

<?php Schema::table('table_name', function (Blueprint $table) { $table->field_type('column_name')->after('existing_column'); }); ?>

Пример

Давайте добавим колонку 'phone' после колонки 'email' в таблице 'users':

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::table('users', function (Blueprint $table) { $table->string('phone', 20)->after('email')->nullable(); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('phone'); }); } }; ?>

Пример

Добавим несколько колонок с разным порядком следования в таблице 'articles':

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::table('articles', function (Blueprint $table) { $table->string('subtitle')->after('title')->nullable(); $table->text('description')->after('subtitle')->nullable(); $table->boolean('is_published')->after('description')->default(false); }); } public function down() { Schema::table('articles', function (Blueprint $table) { $table->dropColumn(['subtitle', 'description', 'is_published']); }); } }; ?>

Пример

При создании новой таблицы метод after также может использоваться. Создадим таблицу 'posts' с указанием порядка колонок:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('slug')->after('title')->unique(); $table->text('content')->after('slug'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('posts'); } }; ?>

Смотрите также

  • класс Schema,
    который используется для создания и изменения таблиц
  • класс Blueprint,
    который предоставляет методы для определения структуры таблицы
  • метод table,
    который открывает существующую таблицу для изменений
  • метод create,
    который создает новую таблицу в базе данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить