2011-06-07 20 views
6

से संबद्ध होने के लिए मुझे बताया गया था कि $ गैर-प्राथमिक कुंजी के लिए मैपिंग मैपिंग पूरा करने के लिए, मैं विदेशीकी को झूठी सेट कर दूंगा और किसी अन्य मंच (आईआरसी, वास्तव में) पर शर्तों को सेट कर दूंगा। । हालांकि, मुझे नहीं लगता कि मैं इसे सही तरीके से कर रहा हूं।

var $belongsTo = array(

    'Inventory' => array(
     'className' => 'Inventory', 
     'foreignKey' => false, 
     'conditions' => array('RentalLineitem.i_num' => 'Inventory.i_num'), 
     'dependent' => false 
    ) 

); 

जब मैं SQL क्वेरी कि उत्पन्न किया जा रहा है को देखो, JOIN में पर खंड स्तंभ के बजाय स्ट्रिंग मान की तलाश में है: नीचे मेरी $ belongsTo कोड मैं कोशिश कर रहा था है `RentalLineitem`.` i_num` = 'Inventory.i_num' की आवश्यकता है जो मुझे चाहिए 'RentalLineitem`.iinum` =' सूची '।' i_num`।

मुझे सही होने के लिए "डेटाबेस स्कीमा को बदलें" को बदलने के लिए कहा गया है। हालांकि, यह एक विरासत अनुप्रयोग है, डेटाबेस पहले से ही 10 वर्षों से अस्तित्व में है, और इस डेटाबेस का उपयोग कर अन्य अनुप्रयोग भी हैं। मुझे अपने पास टेबल के साथ काम करना है, और मैं स्कीमा नहीं बदल सकता।

मैं इन मॉडलों को सही ढंग से कैसे जोड़ सकता हूं?

+0

हाँ यह सही नहीं लगता है। बस इसलिए मैं अपने उत्तर में कोई धारणा पोस्ट नहीं करता हूं, क्या आप 'इन्वेंटरी' मॉडल को 'RentalLineItem' मॉडल' से जोड़ने का प्रयास कर रहे हैं? मुझे लगता है कि आप 'इन्वेंटरी' कहने की कोशिश कर रहे हैं 'RentalLineItem' से संबंधित है? – generalopinion

उत्तर

11

हम्म यह सही तरीका नहीं हो सकता है, लेकिन मैं पहले से ही कुछ इसी तरह की समस्या नहीं थी और मैं की तरह कुछ कर रही द्वारा यह सही:

'conditions' => array(' `RentalLineitem`.`i_num` = `Inventory`.`i_num`'), 

आशा है कि यह मदद करता है,

गुड लक

+0

कि कमाल था, यह बहुत अच्छा काम कर रहा है। आपकी प्रतिक्रिया के लिए धन्यवाद। मैं इसके साथ संघर्ष कर रहा हूं, और आईआरसी पर लोग मुझे एसक्यूएल स्कीमा के बारे में परेशान कर रहे हैं जिन पर मेरा कोई नियंत्रण नहीं था। लोगों को यह समझना चाहिए कि कभी-कभी डेवलपर्स के रूप में हमारे पास आवेदन के अभिन्न अंगों पर कोई नियंत्रण नहीं होता है। – stephenbayer

+2

मुझे आश्चर्य है कि यह केकफ़्पी 2.2 में क्यों काम नहीं करता है ..? – neobie

0

आप बस इस तरह की स्थितियों में संपादित करें:

'conditions' => array(
    'RentalLineitem.i_num = Inventory.i_num', 
), 

यह कोर काम करता है मेरे मामले में ectly।

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