मेरे डेटाबेस हुड के नीचे इंजन MyISAM का उपयोग करता है, तो मैं, झरना कार्रवाई को नष्ट आह्वान नहीं कर सकते क्योंकि MyISAM इसका समर्थन नहीं करता। उसी समय, मैं अपने yii2 एप्लिकेशन में संबंधित रिकॉर्ड हटाना चाहता हूं। मैं उसे कैसे कर सकता हूँ?हटाएँ संबंधित रिकॉर्ड - सर्वोत्तम प्रथाओं
उत्तर
नोट: समाधान के नीचे केवल तभी काम करेगा यदि आप ActiveRecord delete method का उपयोग करते हैं।
आप beforeDelete विधि का उपयोग कर सकते हैं और वहां संबंधित रिकॉर्ड्स हटा सकते हैं - इस मामले में आप एक बार कोड लिखेंगे और जब भी आप $model->delete()
पर कॉल करेंगे तो इसे निष्पादित किया जाएगा।
या आप EVENT_BEFORE_DELETE घटना के लिए हैंडलर जोड़ सकते हैं।
देर से प्रतिक्रिया के लिए खेद है। मुझे लगता है कि सभी अनुकूलन में से पहले डेटाबेस पर ही निर्भर करता है (सही इंडेक्स इत्यादि)। एक विकल्प के रूप में आप संग्रहीत प्रक्रिया बना सकते हैं जो संबंधित रिकॉर्ड हटा देता है और उस प्रक्रिया को कॉल करता है ... – rkm
ट्रिगर्स बनाने के बारे में क्या? –
https://stackoverflow.com/questions/31110462 देखें –
कई विकल्प इस मुद्दे के समाधान के लिए कर रहे हैं।
1) डीबी तरफ एक trigger बनाएँ:
public function beforeDelete() {
if (!parent::beforeDelete()) {
return false;
}
// ... custom code here ...
return true;
}
ट्रिगर तेज, और रेफेरेंन्शिअल सत्यनिष्ठा को लागू करने में अच्छे हैं, कि क्यों है:
CREATE TRIGGER trigger_name
BEFORE DELETE ON table_name FOR EACH ROW
BEGIN
-- variable declarations
-- trigger code
END;
2) हटाएँ yii2 beforeDelete समारोह के अंदर संबंधित रिकॉर्ड मैंने उन्हें चुना।
- 1. सीएसएस रूपरेखा सर्वोत्तम प्रथाओं
- 2. निरंतर एकीकरण - सर्वोत्तम प्रथाओं
- 3. छवि ऑल्ट सर्वोत्तम प्रथाओं
- 4. एसपीएल Autoloading सर्वोत्तम प्रथाओं
- 5. ओपन VAO सर्वोत्तम प्रथाओं
- 6. नामकरण कुकीज़ - सर्वोत्तम प्रथाओं
- 7. शेयरपॉइंट सूची सर्वोत्तम प्रथाओं
- 8. डाटाबेस सर्वोत्तम प्रथाओं
- 9. Regex सर्वोत्तम प्रथाओं
- 10. TFS चेकआउट सर्वोत्तम प्रथाओं
- 11. वेबलिंग ढूंढना, सर्वोत्तम प्रथाओं
- 12. एक्शनलिस्टर सर्वोत्तम प्रथाओं
- 13. सर्वोत्तम प्रथाओं एप्लिकेशन
- 14. फ्लेक्स सर्वोत्तम प्रथाओं?
- 15. NAnt सर्वोत्तम प्रथाओं
- 16. PHP सर्वोत्तम प्रथाओं?
- 17. कार्य रद्दीकरण सर्वोत्तम प्रथाओं
- 18. JSON डिज़ाइन सर्वोत्तम प्रथाओं
- 19. फ्रैगमेंट सर्वोत्तम प्रथाओं
- 20. HttpRuntime.Cache सर्वोत्तम प्रथाओं
- 21. विंडोज रजिस्ट्री सर्वोत्तम प्रथाओं
- 22. आईओएस Prefix.pch सर्वोत्तम प्रथाओं
- 23. फॉर्म स्टाइलिंग सर्वोत्तम प्रथाओं
- 24. MATLAB प्रोग्रामिंग सर्वोत्तम प्रथाओं
- 25. MySQL प्रतिकृति सर्वोत्तम प्रथाओं
- 26. क्रूज़ कंट्रोल.Net सर्वोत्तम प्रथाओं
- 27. कैशिंग सर्वोत्तम प्रथाओं
- 28. सर्वोत्तम प्रथाओं - NSManagedObjectContextObjectsDidChangeNotification आईओएस
- 29. फ़ायरफ़ॉक्स एक्सटेंशन - सर्वोत्तम प्रथाओं
- 30. असिंक्रोनस वेबरेक्वेस्ट सर्वोत्तम प्रथाओं
संभावित डुप्लिकेट [Yii2: डेटा आधार से संबंधित मॉडल डेटा को एक साथ कैसे हटाएं?] (Https://stackoverflow.com/questions/31110462/yii2-how-to-sultultaneously-delete-related-models- डेटा- डेटा-बेस-बेस) –