【问题标题】:Laravel delete pivot table column when deleting one of the main tables columns删除主表列之一时,Laravel 删除数据透视表列
【发布时间】:2021-10-21 03:50:23
【问题描述】:

我有文章表和 article_categories 表,我在这两个表之间创建了一个数据透视表,但是在删除一篇文章时它说

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`aqaraty`.`article_article_category`, CONSTRAINT `article_article_category_article_id_foreign` FOREIGN KEY (`article_id`) REFERENCES `articles` (`id`)) (SQL: delete from `articles` where `id` = 9)

如何通过删除文章删除数据透视行?

【问题讨论】:

    标签: laravel


    【解决方案1】:

    问题来自外国身份证。在这种情况下,您有两个选择。 首先,您可以先从数据透视表中删除记录,然后再删除文章。 第二个也是可选的,您可以向数据透视迁移表添加一个附加功能,例如:

    $table->foreign('article_id')
          ->references('id')->on('articles')
          ->onDelete('cascade');
    

    如果你添加->onDelete('cascade');函数,当它所链接的记录被删除时,它也确保它被删除。

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      相关资源
      最近更新 更多