php laravel 中如何设置外键名称?

问题描述 投票:0回答:5

如何在php中设置外键的名称

laravel

Schema::table('TABLE_NAME', function (Blueprint $table) {
        $table->foreign(XXX)
            ->references(XXX)
            ->on('REF_TABLE')
            ->onDelete('cascade');

            // HOW TO ACHIEVE SOMETHING LIKE THIS?
            //->name('Custom name of foreign key.')
            //->comment('Custom comment for foreign key.')        
    });
php laravel foreign-keys
5个回答
25
投票

您可以通过填写第二个外部参数来指定自定义名称:

->foreign('XXX', 'my_custom_name')

2
投票

当您构建外键列时,您可以像这样构建:

 $table->UnsignedBigInteger('xxx')->comment("comment for this column");

请参阅此链接

您还可以在 Laravel column-modifiers 中找到详细信息。


1
投票

您可以通过以下方式制作外键:-

        $table->unsignedInteger('XXXX')
            ->nullable();
        $table->foreign('XXXX')
            ->references('id')
            ->on('REF_TABLE')
            ->onDelete('cascade');

0
投票

@Shwetank 提到的有效。但是,

$table->unsignedInteger('XXXX')
需要更改为
$table->UnsignedBigInteger('XXXX')
。示例:

$table->UnsignedBigInteger('XXXX')
            ->nullable();
        $table->foreign('XXXX')
            ->references('id')
            ->on('REF_TABLE')
            ->onDelete('cascade');

注意:Laravel 9.x


0
投票

使用

name
功能

$table->foreign(XXX)
        ->references(XXX)
        ->on('REF_TABLE')
        ->onDelete('cascade')
        ->name('custom_foreign_key_name');

适用于 Laravel 9

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