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!