Модификатор nullable в Laravel
По умолчанию многие поля в базе данных обязательны - без значения запись не сохранится. Но часто поле может быть пустым: отчество, аватар, возраст, если пользователь его не указал.
С помощью модификатора nullable
разрешают значение null:
<?php
$table->string('patronymic')->nullable();
?>
Пример миграции таблицы пользователей с необязательными полями:
<?php
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('surname');
$table->string('patronymic')->nullable();
$table->integer('age')->nullable();
$table->timestamps();
});
}
?>
Модификатор можно задать не только при создании таблицы, но и при изменении существующего поля:
<?php
public function up(): void
{
Schema::table('users', function (Blueprint $table) {
$table->integer('age')->nullable()->change();
});
}
?>
Без nullable поле age
пришлось бы заполнять при каждой
вставке. С модификатором можно
передать null или просто
не указывать значение.
Разрешите в таблице с юзерами
полю age принимать значение
null.
Какие поля в профиле пользователя логично сделать обнуляемыми?