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

Метод table

Метод table класса Schema применяется для изменения структуры уже существующей таблицы. Первым параметром передаётся имя таблицы, вторым - замыкание, которое получает объект Blueprint для определения изменений. Этот метод обычно используется в миграциях внутри метода up.

Синтаксис

<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; Schema::table($table, function (Blueprint $table) { // изменения таблицы }); ?>

Пример

Давайте добавим новое поле 'email' типа string в таблицу '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(): void { Schema::table('users', function (Blueprint $table) { $table->string('email', 255); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->dropColumn('email'); }); } }; ?>

Пример

Давайте изменим тип поля 'status' с string на integer в таблице '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(): void { Schema::table('articles', function (Blueprint $table) { $table->integer('status')->change(); }); } public function down(): void { Schema::table('articles', function (Blueprint $table) { $table->string('status')->change(); }); } }; ?>

Пример

Давайте удалим поле 'description' из таблицы 'products':

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::table('products', function (Blueprint $table) { $table->dropColumn('description'); }); } public function down(): void { Schema::table('products', function (Blueprint $table) { $table->text('description'); }); } }; ?>

Пример

Давайте добавим сразу несколько полей в таблицу '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(): void { Schema::table('posts', function (Blueprint $table) { $table->string('author'); $table->integer('views')->default(0); $table->boolean('is_published')->default(false); $table->timestamps(); }); } public function down(): void { Schema::table('posts', function (Blueprint $table) { $table->dropColumn(['author', 'views', 'is_published', 'created_at', 'updated_at']); }); } }; ?>

Пример

Давайте переименуем поле 'name' в 'full_name' в таблице '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(): void { Schema::table('users', function (Blueprint $table) { $table->renameColumn('name', 'full_name'); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->renameColumn('full_name', 'name'); }); } }; ?>

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

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