2012-06-21 22 views
0

這裏是從基類的一個片段:學說1.2 +浮動值不被接受。只有整數似乎工作

$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);也不起作用。

編輯:我忘了提,我有類內吸控制裝置:

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) 

我缺少的東西?

回答

0

可否請你用這個嘗試:

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

試了一下。不幸的是,沒有解決它。 –

+2

然後你應該嘗試用小數我想,但也許你應該提高規模價值。 – ActuallyMAB

+0

十進制+1。 – j0k