我正在为Magento 1.7.0定制模块。我在尝试将数据插入到MySQL时遇到问题。我从会话获取用户信息如下:无法保存数据在MySQL中从自定义Magento模块
$customer = Mage::getSingleton('customer/session')->getCustomer();
$user_id = $customer->getId();
$user_id
现在进行登录到我的Magento系统当前用户的ID
。
基本上问题是,当我尝试在自定义表格中保存上面的ID时,保存在我的表格中的值始终为。
以前我在尝试保存另一个整数值时遇到了这个问题,我通过将MySQL表列的数据类型从int(10)更改为tinyint(4)来解决此问题,但在这种情况下,我无法为用户名。
$model= Mage::getModel('voter/competetion')
->setDesignid($designId)
->setUserId($user_id)
->setVote($vote)
->setStartdate($startDate)
->save();
MySQL的列名是与安装sql脚本沿着如下:ID,designid,USER_ID,投票,开始日期,结束日期
$installer = $this;
$installer->startSetup();
$prefix = Mage::getConfig()->getTablePrefix();
$installer->run("
CREATE TABLE IF NOT EXISTS ".$prefix."vote_competetion (
id int(10) NOT NULL AUTO_INCREMENT,
designid int(10) NOT NULL,
user_id int(10) NOT NULL,
vote tinyint(1) NOT NULL,
startdate datetime NOT NULL,
enddate datetime NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (designid) REFERENCES ".$prefix."vote_design(id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
");
Mage::getModel('core/url_rewrite')->setId(null);
$installer->endSetup();
是不是有什么毛病我setter方法名。所有其他值都正确保存。我真的不知道该怎么做。请帮忙。
我很感谢所有的帮助。
谢谢!
谢谢,这是完美的答案!我会很感激! –