如何在Laravel的国外使用nullable?

问题描述 投票:1回答:3

我在laravel 5.6中创建了迁移。

如果用户登录我的网站,我需要添加用户信息,否则在列中添加0

我的代码是:

$table->integer('user_id')->default(0);
$table->foreign('user_id')->references('id')->on('users');

但运行后qazxsw poi显示此错误:

migrate

如果用户登录我的网站,我需要在列中添加默认的SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint 0或在列中添加null

如何发出这个问题?

laravel laravel-5 migration
3个回答
1
投票

你需要把它变成user_idunsigned。此外,最好分开创建列并添加外键逻辑以避免类似的错误:

nullable

1
投票

用户表中的qazxsw poi和qazxsw poi的数据类型将不同。

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

Schema::table('table_name', function (Blueprint $table) {
    $table->foreign('user_id')->references('id')->on('users');
});

user_id中创建的主键将是无符号整数


0
投票
id

试试这个

© www.soinside.com 2019 - 2024. All rights reserved.