Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel-不带nullable的无符号_Php_Laravel_Laravel 5_Migration - Fatal编程技术网

Php Laravel-不带nullable的无符号

Php Laravel-不带nullable的无符号,php,laravel,laravel-5,migration,Php,Laravel,Laravel 5,Migration,我使用的是Laravel 5.3,我想在表迁移中定义一个字段为可为null以及无符号。由于两者都是索引修饰符,我可以在串联中使用它们吗?比如: $table->integer('some_field')->unsigned()->nullable(); 如果在laravel文档或其他地方有此类修改,请提供一些参考 请注意,我想将up()函数中的字段定义为无符号和可空。我不想要具有down()功能的解决方案,例如: public function up() {

我使用的是Laravel 5.3,我想在表迁移中定义一个字段为可为null以及无符号。由于两者都是索引修饰符,我可以在串联中使用它们吗?比如:

$table->integer('some_field')->unsigned()->nullable();
如果在laravel文档或其他地方有此类修改,请提供一些参考

请注意,我想将
up()
函数中的字段定义为无符号和可空。我不想要具有
down()
功能的解决方案,例如:

public function up()
    {
       Schema::create('ex', function (Blueprint $table) {
            $table->integer('some_field')->unsigned();
       });
    }
public function down()
    {
        DB::statement('ALTER TABLE ex MODIFY `some_field` integer NOT NULL;');
    }

提前谢谢

你可以。Laravel允许很多方法链接。每个列方法都定义为返回相同的
Blueprint
对象,因此您可以轻松地对其调用另一个方法。这意味着您甚至可以:

Schema::create('ex', function (Blueprint $table) { 
  $table->integer('some_field')->unsigned()->default(10); 
});
一切都会好的:)

有关更多信息,请参阅(请参阅“列修饰符”部分)。

您可以执行以下操作

   Schema::create('ex', function (Blueprint $table) {
        $table->integer('some_field')->unsigned()->nullable();
   });

虽然这个问题已经得到了回答。我还选择了公认的答案,确认使用:

$table->integer('some_field')->unsigned()->nullable();
这是对的

尽管我列出了另一种方法:

$table->integer('some_field')->unsigned();
$table->integer('some_field')->nullable()->change();

参考:

在laravel 8中。*

Schema::table('table_name', function (Blueprint $table) {
  $table->unsignedInteger('column_name')->nullable();
});

不,我没有,我现在也不能,因为我不能创建测试环境是出于某种原因,所以我希望有人能肯定知道。尽管很奇怪。我知道我们可以同时使用列类型和列修饰符,但很高兴知道索引修饰符也可以连接在一起。谢谢你的回答+1并接受!
first()
在你的链中做什么?谢谢@Adam。抢手货我不知道我在想什么。谢谢你的帮助+1.正确。我认为
change
方法适用于您已经运行了旧的迁移,并且不想刷新它们的情况。事实上,它是这样做的。主要用于
down()
函数,但它仍然是一种替代方法。