📅  最后修改于: 2023-12-03 14:43:50.255000             🧑  作者: Mango
在 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 迁移中设置默认值的方法。在实际应用中,我们可以根据需要灵活地使用这些方法来管理数据库表结构。