У меня есть наблюдатель на мероприятии. Код Oberver в:Magento не сохраняет все данные в таблице
public function saveQuoteAfter($evt) {
$quote = $evt->getQuote();
$quoteIddd = $quote->getId();
$email = $quote->getPEmail();
$phone = $quote->getPPhone();
$p = $quote->getPP();
$fields = array('quote_id' => $quoteIddd, 'email' => $email, 'phone' => $phone, 'p' => $p);
$model = Mage::getModel('my_module/quote')->setData($fields);
$model->save();
}
Mage :: getModel ('my_module/цитата') - это модель, которая сохраняет данные в таблице. Все переменные существуют и могут быть сохранены в первых трех столбцах таблицы. Невозможно сохранить данные в любой другой колонке.
install script:
$installer = $this;
$installer->startSetup();
$installer->run("
CREATE TABLE IF NOT EXISTS {$this->getTable('module_quote')} (
`id` int(11) unsigned NOT NULL auto_increment,
`quote_id` int(11) unsigned NOT NULL,
`email` text NOT NULL,
`phone` text NOT NULL,
`p` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
$installer->endSetup();
Поэтому я не могу сохранить данные в столбце «p». Любые идеи, почему magento не сохраняет данные в этих столбцах?
Это сработало, спасибо. – ciemin
Фактически setData, хотя и может устанавливать свойства одного объекта, предназначен в основном для массивов данных (вы можете проверить, как выглядит метод в классе Varien_Object). –
примите мой ответ –