В этой строке:
$raw=$this->data
Вы просто присваиваете $this->data
по значению $raw
.Поэтому, когда вы изменяете данные массива $raw
, изменение не влияет на $this->data
.
Кроме того, вы полностью меняете смысл своего кода.В конечном итоге вы просто замените данные $raw
на $this->data
из вашей модели.Я не работал с CakePHP раньше, но я предполагаю, что $raw
уже содержит все необработанные данные, которые вы получили посредством какого-то рода вводных данных, тогда как $this->data
в вашей модели содержит более старую версию данных вашей модели (например,старый пароль, который пользователь собирался изменить).Ваш измененный код просто сотрет все новые данные в $raw
, и я не думаю, что это то, что вы собираетесь делать, исходя из своего первого примера кода.
Чтобы дать вам небольшое объяснение этой строки:
$this->data['User']['pswd'] = md5($raw['User']['pswd']);
Все довольно просто: элемент pswd
в массиве User
из $this->data
устанавливается как контрольная сумма MD5 pswd
в массиве User
из $raw
.