📜  laravel 迁移设置默认值 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:50.255000             🧑  作者: Mango

Laravel 迁移设置默认值

在 Laravel 中,我们可以使用迁移工具来创建和修改数据库表结构。除了基本的表名和字段类型,我们还可以设置默认值作为字段的预设值。

在 Laravel 迁移中,我们使用 default 方法来设置字段的默认值。例如,我们可以使用以下代码将 email 字段的默认值设置为 NULL

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->nullable()->default(NULL);
    $table->timestamps();
});

其中,nullable() 方法表示该字段可以为 NULL 值,而 default() 方法则用于设置该字段的默认值。

还可以设置其他类型的默认值,如整数、浮点数、布尔值、日期等。例如,我们可以使用以下代码将 age 字段的默认值设置为 18:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->integer('age')->default(18);
    $table->timestamps();
});

上述代码中,default(18) 方法表示将 age 字段的默认值设置为 18。

当然,如果不需要为字段设置默认值,可以省略 default() 方法,例如:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email');
    $table->timestamps();
});

上述代码中,email 字段没有设置默认值,因此其默认值为 NULL

除了使用 default() 方法,我们还可以使用 nullable()->default('foo') 的链式调用来设置字段的默认值。例如:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->nullable()->default('foo');
    $table->timestamps();
});

上述代码中,email 字段既可以为 NULL 值,又可以有 foo 作为默认值。

至此,我们已经了解了在 Laravel 迁移中设置默认值的方法。在实际应用中,我们可以根据需要灵活地使用这些方法来管理数据库表结构。