sql >> Database teknologi >  >> RDS >> Mysql

Laravel Kan ikke slette eller opdatere en overordnet række:en fremmednøglebegrænsning mislykkes

Ja, det er dit skema. Begrænsningen på likes.post_id vil forhindre dig i at slette poster fra posts tabel.

En løsning kunne være at bruge onDelete('cascade') i likes migrationsfil:

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

På denne måde, når et opslag slettes, vil alle relaterede likes også blive slettet.

Eller, hvis du har et forhold fra Post-modellen til Like-modellen, kan du $post->likes()->delete() før du sletter selve indlægget.



  1. Forøg en værdi i Postgres

  2. Oracle rækkeantal af tabel efter antal(*) vs. NUM_ROWS fra DBA_TABLES

  3. Sådan fjerner du en unik nøgle fra mysql-tabellen

  4. Registrer fortløbende datointervaller ved hjælp af SQL