sql >> Databasteknik >  >> RDS >> Mysql

Laravel Kan inte ta bort eller uppdatera en överordnad rad:en begränsning av främmande nyckel misslyckas

Ja, det är ditt schema. Begränsningen för likes.post_id kommer att hindra dig från att ta bort poster från posts bord.

En lösning kan vara att använda onDelete('cascade') i likes migreringsfil:

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

På det här sättet, när ett inlägg raderas, kommer alla relaterade likes att raderas också.

Eller, om du har en relation från Post-modellen till Gilla-modellen, kan du $post->likes()->delete() innan du tar bort själva inlägget.



  1. Problem när man jämför resultatet av to_char(myDate, 'DAY') med en sträng

  2. Laravel migration självrefererande främmande nyckelfråga

  3. Hur man väljer en rad med maximalt värde i mysql-tabellen

  4. mysql uppdatera flera kolumner med samma nu()