php - Laravel::更新外键的最佳方式

标签 php database laravel laravel-5.1

我有这个迁移文件

Schema::create('table_one', function(Blueprint $table) 
{ 
    $table->increments('id'); 
    $table->string('name'); 
    $table->integer('table_two_id')->unsigned(); 
    $table->foreign('table_two_id')->references('id')->on('table_two'); 
    $table->timestamps(); 
});

我想更新以使其成为->onDelete('cascade');

$table->foreign('table_two_id')->references('id')->on('table_two')->onDelete('cascade');

执行此操作的最佳方法是什么?

有没有像->change();

这样的东西

谢谢

最佳答案

删除外键然后再次添加并运行迁移。

public function up()
{
    Schema::table('table_one', function (Blueprint $table) {
        $table->dropForeign(['table_two_id']);

        $table->foreign('table_two_id')
            ->references('id')
            ->on('table_two')
            ->onDelete('cascade');
    });
}

关于php - Laravel::更新外键的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38427672/

相关文章:

laravel - 在 docker 容器中设置 laravel 任务调度器

php - PDO导致内存溢出

java - 从 JavaFX WebView 中提取内容

mysql - 合并多对多结果

database - 我如何从 FaunaDB 中选择一个随机实例?

laravel - Laravel 中的 timestampTz 字段

php - 如何使用 jquery ajax php 和 mysql 更新表中的数据

php - MYSQL联合展示

php - 语法 SQL (WHERE,AND,LIKE)

mysql - 如何对 SQL-Laravel 的所有聚合值求和?