Magento管理员表单不保存带小数的十进制值

时间:2014-06-27 13:00:33

标签: magento magento-1.7

对于我的一个自定义模块,我有以下sql安装脚本

$installer = $this;

$installer->startSetup();

$installer->run("


    CREATE TABLE {$this->getTable('wholesale')} (
      `wholesale_id` int(11) unsigned NOT NULL auto_increment,
      `title` varchar(255) NOT NULL default '',
      `percentage` float(5,3) NOT NULL,
       `status` smallint(6) NOT NULL default '0',
      `created_time` datetime NULL,
      `update_time` datetime NULL,
      PRIMARY KEY (`wholesale_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

        ");

    $installer->endSetup(); 

传递给此百分比浮点数(5,3)的值为NOT NULL,列以十进制保存,但总是以00为例。如果我保存值10.23,它将在数据库中保存为10.00。

请帮忙

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。使用“Flush Magento cache”清除缓存后,它开始正常保存。在我的情况下,我改变了列,它被缓存。

答案 1 :(得分:1)

我截断了表并手动插入了一条记录,它对我有用。 我不确定为什么会这样,但这对我有用。