2015-05-23 9 views
5

सिद्धांत पेड़ एक्सटेंशन के साथ symfony2 और doctrine2 का उपयोग करके, मैंने हाल ही में एक सिद्धांत को अद्यतन किया है ताकि इसे एक सिद्धांत नेस्टेड सेट पेड़ बनाया जा सके।रूट नोड्स को कैसे पुनर्प्राप्त करें

एक सिद्धांत स्कीमा अद्यतन बल ने शून्य डेटा के साथ सही कॉलम जोड़े।

 $repo = $this->getDoctrine()->getRepository('AppBundle:FoodAnalytics\Recipe'); 

     $repo->verify(); 
// can return TRUE if tree is valid, or array of errors found on tree 
     $repo->recover(); 
     $this->flush(); // important: flush recovered nodes 
// if tree has errors it will try to fix all tree 

यह सफलतापूर्वक बाईं सही और स्तर मूल्यों नहीं बल्कि जड़ बरामद:

तो मैं निम्नलिखित कोड भाग गया। मैं रूट मान मैन्युअल रूप से सेट नहीं कर सकता (सिद्धांत श्रोता द्वारा प्रतिबंधित)।

मैं उन रूट मानों को कैसे अपडेट कर सकता हूं ताकि वृक्ष ठीक से काम कर सके?

धन्यवाद!

उत्तर

-1

ठीक है, मुझे ऑब्जेक्ट उन्मुख समाधान नहीं मिला, इसलिए मैं कच्चे SQL क्वेरी के लिए गया। मैं किसी भी इकाई को माता-पिता होने से पहले ऐसा कर रहा हूं, इसलिए प्रत्येक इकाई का रूट मान अपनी आईडी के बराबर होना चाहिए।

phpmyadmin में, निम्न SQL क्वेरी पेस्ट और निष्पादित करें:

update recipe 
set recipe.root = recipe.id 
संबंधित मुद्दे