我正在laravel中创建注册表单,首先我创建了迁移
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('first_name');
$table->string('last_name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
我想首先注册没有first_name和last_name的名称,电子邮件和密码,但是当我点击注册时,它给我一个错误,即first_name和last_name没有默认值..所以如何使默认值为null,因为我想要稍后更新这些列。
答案 0 :(得分:7)
$table->string('first_name')->default('DEFAULT');
编辑:如果默认值应为null,则改为使其可为空。
$table->string('first_name')->nullable();
答案 1 :(得分:2)
我正在 Laravel 中制作注册表单,首先我创建了迁移 如果您想要一个默认值而不是 NULL,您可以在迁移模式中执行以下操作:
<块引用>$table->string('name')->nullable();
$table->string('name')->nullable()->default('NULL');
$table->string('name')->nullable()->default(NULL);
$table->string('name')->nullable()->default();
答案 2 :(得分:2)
您可以将 first_name
和 last_name
设为 nullable
:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
当您在字段上使用 nullable()
方法时,该字段将默认为 NULL。
答案 3 :(得分:1)
在Laravel 5.8中,您可以按照下面的迁移脚本进行尝试;
public function up()
{
if (Schema::hasTable('table_name')) {
Schema::table('table_name', function (Blueprint $table) {
$table->string('column_name')->nullable();
});
}
}
答案 4 :(得分:1)
你想要 default() 和 nullable() 值
<块引用>$table->string('name')->nullable()->default(' ');
$table->string('first_name')->nullable()->default(' ');
$table->string('last_name')->nullable()->default(' ');
答案 5 :(得分:0)
->default('NULL')->nullable(true)
凭经验...
答案 6 :(得分:0)
根据Laravel 8,有两种简单的解决方案。
如果要使用默认值而不是NULL
,可以在迁移模式中执行以下操作:
$table->string('total')->default('0');
这意味着默认值为0
。
$table->string('total')->nullable();
祝您编程愉快!