0

私は行動を書いています

<?php

class LogsBehavior extends ModelBehavior {


        public $Model;

        public function setup(Model $model, $config = array()) {
            $this->Model = $model;
        }

        public function afterSave(Model $Model, $created, array $options = array()) {

            pr($this->Model);
            exit;


        }

}

わかりましたので、$model にあるセットアップ方法を確認すると、次のようになります。

Comprovante Object
(...)

エントリを保存して afterSave メソッドに到達すると、 $Model プロパティは

Comprovante Object
    (...)

しかし、私の $this->Model は次のとおりです。

Cliente Object

コンプロヴァントではなく、前のオブジェクトがそこにあるようです...

誰かが私を助けることができますか?

Comprovante.php

public $actsAs = array('Logs');
4

1 に答える 1

1

上記の理由により、ここでは共有属性を使用できません。

最初のパラメーターとしてモデルに渡されるメソッドを常に提供します。

public function someMethod(Model $Model, ...) {
    $this->_someMethod($Model, ...);
}

protected function _someMethod(Model $Model, ...) {}

現在のコアと (人気のある!) プラグイン/ユーザーランドの動作がどのようにそれを行い、物事を行う方法を取り入れているかを確認してください。

于 2013-10-30T17:42:54.713 に答える