不接受学说1.2 +浮动值。只有整数似乎有效

时间:2012-06-21 08:15:08

标签: types doctrine

以下是基类的片段:

$this->hasColumn('order_total', 'float', null, array(
         'type' => 'float',
         'fixed' => false,
         'unsigned' => false,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));

这是我的用法:

public function preInsert($event)
{    
    echo $total = $this->_totalWithTax;

    $this->order_total = $total;

    $this->created_at = Zend_Date::now()->toString('yyyy-MM-dd HH:mm:ss');
}

出于某种原因,它只有在$total是一个整数时才有效,但是当它的值是一个浮点数时它不起作用(顺便说一下,这是最常见的情况)。我通过压铸来测试它。

我正试图撕裂我的头发,徒劳地试图理解为什么会这样。

此外,使用$this->_set('order_total', $total);也不起作用。

编辑:我忘了提到我在课堂上有一个getter覆盖:

public function getOrderTotal()
{
    return $this->_totalWithTax;
} 

如果它确实产生了很大的不同。

调用save方法时,出现此错误:

Validation failed in class LP_Orders 1 field had validation error: * 1 validator failed on order_total (notnull)

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

请你试试这个:

$this->hasColumn('order_total', 'float', null, array(
         'type' => 'float',
         'scale' => 8,
         'fixed' => false,
         'unsigned' => false,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));