0

私の AppModel には、beforeSave 関数があります。

    public function beforeSave($options = array()) {
        if (!empty($this->data[$this->alias]['created'])) {
            $this->data[$this->alias]['created'] = date('Y-m-d G:i:s');
            $this->data[$this->alias]['modified'] = $this->data[$this->alias]['created'];
        } else {
            $this->data[$this->alias]['modified'] = date('Y-m-d G:i:s');
        }
        $this->data[$this->alias]['modified_by'] = AuthComponent::user('id');

        return true;
    }

これは、作成日と変更日を記録し、フィールド modified_by を現在ログインしているユーザーの ID に設定するだけの単純な関数です。または、少なくともそれが想定されていることであり、現在ログインしているユーザーのIDを取得することを除いてすべてが機能します。ドキュメントでわかる限り、それが正確に呼び出される方法であるため、理由がわかりません.

4

3 に答える 3

1

私は自分の問題を理解しました。そのために少しばかげていますが、他の誰かが同じ問題に遭遇した場合に備えて、ここに追加すると思いました.

私の News モデルでは、 beforeSave 関数も呼び出していましたが、その行を忘れていましたparent::beforeSave();。beforeSave 関数の日付がどのように機能していたかはわかりませんが、これにより beforeSave 関数の一部が機能しないという問題が修正されました。

この件に関して皆様のご協力に感謝いたします。

于 2013-10-22T16:11:30.983 に答える
0

からユーザーIDを取得してみませんか

CakeSession::read( 'Auth.User.Id ) ?

于 2013-10-22T11:24:18.727 に答える