This code goes in {ModelName}::beforeSave:
foreach ($this->data[$this->name] as $key => $value) {
if (!set::classicExtract($this->data,$this->name . '.' . $key)) {
$this->data = set::remove($this->data,$this->name . '.' . $key);
}
}
I use it where the DB may be expecting values for certain fields that are optional in the UI, and therefore may be returned empty by the controller.
0 Responses to “CakePHP Code Snippet: Return only fields with values to the DB upon saving.”