sql >> データベース >  >> RDS >> Mysql

Laravelは親行を削除または更新できません:外部キー制約が失敗します

    はい、それはあなたのスキーマです。 likes.post_idの制約 postsからレコードを削除できないようにします テーブル。

    1つの解決策は、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. CodeIgniter-期待どおりに機能しないことにより、順序でグループ化します

    2. Djangoでデータを非正規化する最良の方法は?

    3. 今日の(深夜以降の)タイムスタンプのみを選択します

    4. データセキュリティガバナンス