我有一个cakephp (2.2)应用程序,它有一个费用模型和一个现金浮动模型。费用模型与cashFloat模型具有HasOne关系,并且cashFloat模型属于费用模型。
我有一个表示“费用”的表单,它只有一个现金浮动字段。
我的问题是,当保存费用时,如果现金浮动字段为空,则仍会在cashFloats表中创建一个值为null的记录。我怎样才能避免这种情况?如果现金浮动字段不为空,我只想创建现金浮动记录。
在cashFloat模型上使用beforesave()来检查它是否为空是最好的方法吗?(在过去的几个月里,我暂时离开了蛋糕,所以如果我错过了一些非常简单的东西,我很抱歉)。
发布于 2013-03-06 20:52:35
通过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
}https://stackoverflow.com/questions/15246070
复制相似问题