我有一个带有费用模型和cashfloat模型的cakephp(2.2)应用程序。 Expense模型与cashFloat模型具有HasOne关系,而cashFloat模型属于Expense模型。
我有一个表单,用单个现金浮动字段表示“费用”。
我的问题是,当保存费用时,如果现金浮动字段为空,则仍会在cashFloats表中创建具有空值的记录。我怎么能避免这个?如果现金浮动字段不是空白,我只想创建现金浮动记录。
cashFloat模型上的beforesave()是否检查其是否为空最佳方式? (在过去的几个月里,我和蛋糕休息了一段时间,如果我错过了一些非常简单的话,我会道歉。)
答案 0 :(得分: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
}