2013-03-06 48 views
0

我有一個CakePHP的(2.2)的應用程序,有一個費用模型和cashfloat模型。費用模型與cashFloat模型具有HasOne關係,CashFloat模型屬於費用模型。相關模型數據得到保存,即使字段爲空

我有表示「費用」有一個浮存現金域的表單。

我的問題是,當消費被保存,如果浮存現金字段爲空與空值的記錄仍然在cashFloats表中創建。我怎樣才能避免這種情況?如果現金浮動字段不爲空白,我只想創建現金浮動記錄。

是一個beforesave()的cashFloat模型來檢查,如果其空的最佳途徑去? (在過去的幾個月中,我已經從蛋糕休息一下,所以如果我錯過了一些非常簡單的道歉)。

型號:https://gist.github.com/anonymous/6ba48b84bddcc4dd23a3

+0

我試過beforeSave方法,但返回false如果字段爲空停止窗體從提交併返回錯誤。 – 2013-03-06 11:36:09

+0

任何代碼,你可以告訴我們? – mark 2013-03-06 11:38:38

+0

請發表您的模型和節省的方法... – 2013-03-06 11:42:28

回答

0

管理通過取消用於經由beforeValidate()回調cashFloat量的數據數組的鍵來解決這個問題。希望這可以幫助某人。

public function beforeValidate(){ 
    if(empty($this->data['CashFloat']['amount'])){ 
     unset($this->data['CashFloat']['amount']); 
    } 
    return true; //this is required, otherwise validation will always fail 
}