CakePHP: Bir belongsTo modelinde alanları güncelleştirmek için saveField kullanarak yardıma ihtiyacınız

0 Cevap php

CakePHP iki farklı model / tablolar içine bir şifre güncellemek için çalışıyorum. Ben ikinci model ana modelde ince güncellemek, ama olamaz.

Models:
Users (hasOne GameProfile) PK=id
Gameprofiles (belongsTo User) FK=user_id

İşte Users_controller.php benim fonksiyonu aşağı elimden sürümü:

function updatepass() {
 if (!empty($this->data)) {
  $this->User->id = $this->Auth->user('id');

  $this->User->saveField('sha1password', $this->Auth->password($this->data['User']['newpass']));

  $this->User->Gameprofile->saveField('plainpassword', $this->data['User']['newpass']);
 }
}

Ben işlevini çalıştırdığınızda, kullanıcıların tablo gayet güncellenir. Kek bir ekleme yapar değil ama gameprofile tablo, güncellenmiş değil.

SQL Query Log:

    1195 Query UPDATE `users` SET `sha1password` = 'e9443e9f5e1a07832aad1b2f84de1a666daf89b5'  WHERE `users`.`id` = 30
    1195 Query INSERT INTO `gameprofiles` (`plainpassword`) VALUES ('abc')

Bir belongsTo niteliğine sahip bir model üzerinde saveField kullanarak güncelleme yapmak CakePHP'ye almak için bir yolu var mı?

Ben ikinci saveField çalıştırmadan önce user_id başvurmak için çeşitli yollar denedim, ama sadece kazanan kombinasyonu bulmak için görünmüyor olabilir.

Herhangi bir yardım büyük beğeni topluyor!

0 Cevap