0

我有一个 cakephp (2.2) 应用程序,它有一个费用模型和一个 cashfloat 模型。Expense 模型与 cashFloat 模型有 HasOne 关系,cashFloat 模型属于 Expense 模型。

我有一个表格,用一个现金浮动字段表示“费用”。

我的问题是,当保存费用时,如果现金浮动字段为空,则仍会在 cashFloats 表中创建具有空值的记录。我怎样才能避免这种情况?如果现金浮动字段不为空,我只想创建现金浮动记录。

CashFloat 模型上的 beforesave() 是检查其是否为空的最佳方法吗?(过去几个月我一直在吃蛋糕,如果我遗漏了一些非常简单的东西,我深表歉意)。

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

4

1 回答 1

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
}
于 2013-03-06T12:52:34.917 回答