Разница в том, что эта строка кода фактически не сохраняет никаких данных:
$this->request->data['User']['status'] = 'Active';
Это просто изменение поля в этой модели.
Если вы обновите это поле, а затем выполните $this->User->save()
, вы сохраните всю модель (включая только что измененное поле).
Когда вы используете $this->Model->saveField(field,value)
, вы фактически обновляете источник данных новым значением поля для текущей загруженной модели.
Возможно, вы захотите использовать saveField()
в ситуациях, когда вы не загрузили все поля данных, и использование save()
не пройдет проверку или перезапишет существующие значения пустыми / нулевыми значениями.