2013-03-19 2 views
10

मैं अपने "उत्पाद बनाएं" पृष्ठ में निम्न त्रुटि हो रही है जब एक विदेशी कुंजी मानचित्रण (उत्पाद के लिए यानी मानचित्रण श्रेणी) बनाने का प्रयास कर:सिद्धांत एक बहुत करने के लिए नक्शे की समस्या

ए '__toString() " विधि "सीजे \ बिजनेसबंडल \ Entity \ Category" प्रकार की वस्तुओं पर विधि फ़ील्ड में नहीं मिली थी। इसके बजाय एक कस्टम गेटर पढ़ें, वांछित संपत्ति पथ पर "संपत्ति" विकल्प सेट करें।

+2

कृपया देखें [इस मुद्दे] (http://stackoverflow.com/questions/16702037/how-do-you-define-the-getter-to-use-in-a-crud-form-boice-defining- तार)। मुझे लगता है कि यह आपके लिए उपयोगी हो सकता है। – Jay

उत्तर

29

आपको अपनी श्रेणी इकाई में __toString() विधि जोड़ने की आवश्यकता है। उदाहरण के लिए:

public function __toString() 
{ 
    return $this->name; 
} 

पीएचपी जादू-विधि __toString() वस्तु की एक शाब्दिक प्रतिनिधित्व पेश करने के लिए प्रयोग किया जाता है। इस मामले में, किसी श्रेणी का चयन किसी संबंधित इकाई के किसी फॉर्म में चुनते समय श्रेणी का नाम उपयोग किया जाएगा।

+0

वाह, वह तेज़ था – Mark

+0

बहुत बहुत धन्यवाद। फ़ंक्शन की आवश्यकता के पीछे तर्क क्या है। जैसे मुझे त्रुटि देखने पर एक विचार आया लेकिन मुझे नहीं पता था कि इसके साथ क्या करना है। – chirag7jain

+0

मैंने उस बिंदु को स्पष्ट करने के लिए अपना उत्तर संपादित किया। –

7

त्रुटि संदेश आपको बता रहा है कि आपको क्या करना है। आपकी श्रेणी इकाई में आपको एक __toString() विधि जोड़ने की आवश्यकता है ताकि जब आप कोई उत्पाद जोड़ते हैं तो यह जानता है कि फ़ॉर्म पर चयन बॉक्स में प्रत्येक आइटम का नाम क्या है।

public function __toString() 
{ 
    return $this->name; 
} 

उपर्युक्त में 'नाम' को अपनी श्रेणी के लिए जो भी फ़ील्ड पठनीय पहचानकर्ता है, उसे प्रतिस्थापित करें।

संबंधित मुद्दे

 संबंधित मुद्दे