0

会社を編集して、umusers テーブルにあるパスワードを更新しようとしています。保存を使用すると、会社は更新されますが、umusers テーブルのパスワードは更新されません。saveAll を使用すると、umusers テーブルに新しいユーザーが作成されます。

これが私のセットアップです

私が持っている会社のモデル:

    public $hasOne = 'Umuser';

会社のコントローラー

public function edit($id = null) {
    $this->Company->id = $id;
    if (!$this->Company->exists()) {
        throw new NotFoundException(__('Invalid company'));
    }
    if ($this->request->is('post') || $this->request->is('put')) {
        if ($this->Company->save($this->request->data)) {
            $this->Session->setFlash(__('The company has been saved'));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The company could not be saved. Please, try again.'));
        }
    } else {
        $this->request->data = $this->Company->read(null, $id);
    }

}

$this->request->data の var_dump:

array(2) { ["Company"]=> array(12) { ["id"]=> string(3) "157" ["member_number"]=> string(6) "234234" ["name"]=> string(5) "keith" ["address1"]=> string(5) "keith" ["address2"]=> string(5) "keith" ["county"]=> string(5) "keith" ["limited"]=> string(1) "0" ["tax_number"]=> string(5) "keith" ["contact_name"]=> string(5) "keith" ["phone"]=> string(5) "keith" ["email"]=> string(15) "keith@keith.com" ["payment_start"]=> array(3) { ["month"]=> string(2) "02" ["day"]=> string(2) "01" ["year"]=> string(4) "2013" } } ["Umuser"]=> array(1) { ["password"]=> string(6) "keith1" } } 

現時点では、パスワードをハッシュしたり、空白のままにした場合に設定を解除したりしていないことを知っています。私は何が欠けていますか、おそらくIDとの関係はありますか?

4

2 に答える 2