Farhad Farhad - 5 months ago 20
PHP Question

cakephp - don't change null field on update

i use cakephp 2.5.4 and want when update record in database, fields that is null, do not change

this is my update function

...
if ($this->User->save($this->request->data)) {
return $this->User->id;
}
...

Answer

Before saving your data, remove your empty values from the array.

foreach ($this->request->data as $key => $value) {
    if (empty($value))
        unset($this->request->data[$key]);
}

if ($this->User->save($this->request->data)) {
   return $this->User->id;
}