2013-03-19 7 views
10

मैं एक बैकएंड मॉड्यूल पर काम कर रहा हूं जो कस्टम तालिका में सहेजता है। मेरी समस्या यह है कि मैंने इस तालिका में फ़ील्ड जोड़े हैं क्योंकि मैं इस पर काम कर रहा हूं, नए जोड़े गए फ़ील्ड मॉडल -> सेव() फ़ंक्शन से नहीं बचेंगे।Magento मॉडल मूल्यों को सहेज नहीं पाएगा

मैंने मॉड्यूल को पूरी तरह से हटा दिया है और इसे पुनर्स्थापित कर दिया है, इसे मेरे कस्टम टेबल को खरोंच से बनाने की अनुमति दे दी है, अगर उसके पास कुछ आंतरिक फ़ील्ड गिनती है जिसे मैं अवगत नहीं था, लेकिन फिर भी एक ही परिणाम। परिणाम

array 
    'form_key' => string 'RUGN3fruWobAf8CZ' (length=16) 
    'message' => string 'adg asdg sad' (length=14) 
    'country' => string 'SE' (length=2) 
    'telephone' => string '+46707332290' (length=12) 
    'type' => int 2 
    'id' => string '5' (length=1) 

साथ

$model = Mage::getModel("smsmanager/sms")->addData($post_data)->save(); 
var_dump($model->getData()); exit; 

और सब कुछ ठीक लग रहा है:

अपने डेटा को जोड़ने के बाद मैं क्या इस तरह प्रस्तुत हो जाता है पर एक वर डंप है। जब मैं आईडी 5 के साथ नव निर्मित पंक्ति की जाँच, मैं इस मिल:

|-----------------------------------------------------------------------------------------------------------| 
|id int(11)| type int(11) | telephone varchar(20) | country varchar(2) | message text | date timestamp  | 
|-----------------------------------------------------------------------------------------------------------| 
| 5  | 2   | +46707332290   | NULL    | adg asdg sad | 2013-03-19 21:44:51 | 
|-----------------------------------------------------------------------------------------------------------| 

मैं भी मैन्युअल "junkfield" की तरह डेटाबेस तालिका में अन्य क्षेत्रों डालें और $post_data['junkfield'] = "hello"; के साथ जोड़ने की कोशिश की है और यह भी अशक्त हो जाता है मूल्य के रूप में

मेरे लिए, ऐसा लगता है कि Magento मेरे साथ खराब हो रहा है। तर्क परिभाषित करना क्या कोई गलत हो सकता है पर कोई और ले लिया? ओह और इससे पहले कि मैं भूल गया, यहां मेरा टेबल लेआउट है:

CREATE TABLE IF NOT EXISTS `sms_entry` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `type` int(11) NOT NULL, 
    `telephone` varchar(20) DEFAULT NULL, 
    `country` varchar(2) DEFAULT NULL, 
    `message` text, 
    `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

कोई फर्क नहीं पड़ता कि मैं इसे आजमाता हूं, सिर्फ देश कोड को सहेज नहीं पाएगा। मैंने तेह वर्चर को बड़ा करने की कोशिश की, फिर 2, country_code पर नाम बदलना (देश को आरक्षित या कुछ था)। कुछ भी मदद करने के लिए प्रतीत होता है।

उत्तर

32

Magento के व्यवस्थापक सिस्टम में कैशिंग विकल्पों को अक्षम करने से सभी कैशिंग अक्षम करने में मदद करनी चाहिए। Magento के रूट फ़ोल्डर के तहत var/cache/ निर्देशिका में Magento अभी भी तालिका संरचनाओं, लोकेल डेटा, आदि को कैश करता है (यह नहीं/var/cache) है।

सभी कैशिंग को अक्षम करने के app/etc/local.xml की <global> अनुभाग के लिए निम्न <cache> प्रविष्टि जोड़ने:

<config> 
    <global> 
     ... 
     <cache> 
      <backend>Zend_Cache_Backend_BlackHole</backend> 
     </cache> 
     ... 

तालिका संरचनाओं युक्त कैश फ्लश के लिए, व्यवस्थापक प्रणाली में जाएं, और सिस्टम> कैश प्रबंधन> फ्लश कैश स्टोरेज (फ्लश Magento कैश नहीं!)। यह var/cache में फ़ाइलों को हटा देगा।

$ sudo rm -fr /path/to/your/magento/installation/var/cache/* 
+1

हम्म, जो बहुत समझाएगा। मैंने इसके साथ 2 घंटे बिताए और यह सोचने लगा कि मैं अपना दिमाग खो रहा था। : –

+0

+1! अब मुझे लगता है कि मैगेंटो ने मेरी त्रुटियों को कैश किया क्यों मैंने तय किया –

+0

वाह धन्यवाद के लिए पी – nakajuice

5

जहां तक ​​मुझे पता है - Magento कैशिंग डेटाबेस संरचना किसी भी तरह से। तो बस फ्लश Magento कैश

+0

लेकिन मैंने मॉड्यूल के साथ 'core_resources' पंक्ति समेत सबकुछ हटा दिया और फिर इसे पुनः स्थापित किया। इस स्थानीय देव मशीन के लिए भी मेरी सभी कैश सेटिंग्स बंद कर दी गई हैं। –

+1

मुझे कुछ समय पहले एक ही समस्या थी और मेरे सभी कैश भी अक्षम थे। और जैसा कि मुझे याद है "फ्लश कैश" मेरा समाधान था। – TaganPablo

+0

ठीक है, मैं कल कोशिश करूँगा। धन्यवाद। –

0

+1 टिप्पणी भी है कि मेरे मामले में, मैं सिर्फ भूल गया मैं REDIS कैश का उपयोग कर रहा था, इसलिए मामले में आप इस, डॉन का उपयोग ':

तुम भी कमांड लाइन के माध्यम से कैश फ्लश कर सकते हैं इस कैश को भी हटाना भूल जाओ !!

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