Mysql
 sql >> база данни >  >> RDS >> Mysql

Laravel не може да изтрие или актуализира родителски ред:ограничение на външния ключ е неуспешно

Да, това е твоята схема. Ограничението за likes.post_id ще ви попречи да изтриете записи от posts таблица.

Едно решение може да бъде използването на onDelete('cascade') в likes файл за миграция:

Schema::create('likes', function (Blueprint $table) {
    $table->integer('post_id')->unsigned();
    $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});

По този начин, когато публикация бъде изтрита, всички свързани харесвания също ще бъдат изтрити.

Или, ако имате връзка от модела Post към модела Like, можете да $post->likes()->delete() преди да изтриете самата публикация.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа изображението на mysql blob в контрола на изображението на asp.net?

  2. Какво е значението на въпросителния знак в MySQL в колона WHERE =??

  3. Кога да използвате MongoDB или други ориентирани към документи системи за бази данни?

  4. Как да използвате временна колона в клаузата where

  5. предаде параметри в съхранената процедура за вмъкване на заявка в laravel 4