在 Laravel 迁移中 ->nullable($value = true) 中的参数是做什么用的?

In Laravel migrations what is the parameter in ->nullable($value = true) for?

我遇到了一个使用这种语法的迁移:->nullable('true'); 这看起来很奇怪,那个参数有什么用?我在网上找不到它的描述。我只知道它叫 $value.

基本上nullable()有一个默认参数true

$table->string('nickname')->nullable();

相同
$table->string('nickname')->nullable(true);

因此,在这种情况下不需要添加参数。


一个常见的question/confusion就是为什么要有这个参数呢?我们会 ->nullable(false); 因为那和根本不写 ->nullable() 是一样的。

想象这样一种情况,您有一个用户的昵称,并且您想要将此昵称字段从可为空更改为不可为空。原始迁移可能看起来像上面的那些,要更改它,为了明确意图,我们可以执行以下操作:

$table->string('nickname')->nullable(false)->change();