Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

लारवेल मूल पंक्ति को हटा या अद्यतन नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है

हाँ, यह आपकी स्कीमा है। 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->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 सर्वर से सफलतापूर्वक कनेक्ट करें

  2. तर्क 2 में अमान्य JSON टेक्स्ट - MySQL 5.7.8 में json_contains

  3. अपलोड की गई फ़ाइलों को कहाँ संग्रहीत करें (ध्वनि, चित्र और वीडियो)

  4. JDBC और MySQL के साथ पंक्तियों को जोड़ने में समस्या?

  5. वाक्पटु का उपयोग करके डेटाबेस संबंध के आधार पर JSON प्रतिक्रिया का आदेश कैसे दें