Поле string
Метод string используется при создании миграций для определения колонки с типом VARCHAR. В качестве обязательного параметра передаётся имя колонки. Вторым необязательным параметром можно указать длину строки, по умолчанию используется 255 символов. Этот метод создаёт колонку для хранения коротких текстовых данных, таких как заголовки, имена, email-адреса и другие строковые значения.
Синтаксис
<?php
Schema::create($table, function (Blueprint $table) {
$table->string($column, $length);
});
?>
Пример
Давайте создадим таблицу 'articles' с колонками 'title' и 'slug' типа string:
<?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('articles', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('slug', 100)->unique();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('articles');
}
};
?>
Результат выполнения миграции:
"Table articles created successfully"
Пример
Создадим таблицу 'users' с колонками 'name' и 'email' с указанием длины:
<?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('users', function (Blueprint $table) {
$table->id();
$table->string('name', 50);
$table->string('email', 150)->unique();
$table->string('phone', 20)->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
};
?>
Результат выполнения кода:
"Table users created successfully"
Пример
Добавим колонку 'status' типа string с значением по умолчанию в существующую таблицу:
<?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('status', 20)->default('draft');
});
}
public function down()
{
Schema::table('articles', function (Blueprint $table) {
$table->dropColumn('status');
});
}
};
?>
Результат выполнения кода:
"Column status added successfully"