Laravel как в миграции сделать поле с NULL?
Например я добавляю поле тип текст с именем 'desc', и как мне на этапе создания миграции в $table->text('desc'); это указать для него?
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('projects', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->text('status', 1);
$table->string('name', 50);
$table->text('desc');
});
}
Здесь есть предложение, но оно уж совсем костыльное, не ужели нет возможности полностью описать все св-ва поля? [https://clck.ru/37yE9Q][1]
Ответы (1 шт):
В файле (классе) миграции необходимо использовать метод nullable. Таким образом поле с "nullable" будет автоматически получать значение null, если иное значение не будет передано для записи. В это поле возможно будет записать значение null.
Пример ниже:
public function up(): void
{
Schema::create('projects', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->text('desc')->nullable();
});
}
Если необходимо, чтобы поле всегда получало значение по умолчанию, то можно для поля использовать метод default('значение по умолчанию') по аналогии с методом nullable();