如何在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.')
});
您可以通过填写第二个外部参数来指定自定义名称:
->foreign('XXX', 'my_custom_name')
当您构建外键列时,您可以像这样构建:
$table->UnsignedBigInteger('xxx')->comment("comment for this column");
请参阅此链接。
您还可以在 Laravel column-modifiers 中找到详细信息。
您可以通过以下方式制作外键:-
$table->unsignedInteger('XXXX')
->nullable();
$table->foreign('XXXX')
->references('id')
->on('REF_TABLE')
->onDelete('cascade');
@Shwetank 提到的有效。但是,
$table->unsignedInteger('XXXX')
需要更改为$table->UnsignedBigInteger('XXXX')
。示例:
$table->UnsignedBigInteger('XXXX')
->nullable();
$table->foreign('XXXX')
->references('id')
->on('REF_TABLE')
->onDelete('cascade');
注意:Laravel 9.x
使用
name
功能
$table->foreign(XXX)
->references(XXX)
->on('REF_TABLE')
->onDelete('cascade')
->name('custom_foreign_key_name');
适用于 Laravel 9