蛋糕行为错误的模型


Cakephp Behavior wrong model

我正在编写一个行为

<?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>模型是:

Cliente Object

似乎以前的对象不是Comprovante...

有人可以帮助我吗?

Comprovante.php

public $actsAs = array('Logs');

出于上述原因,您不能在此处使用共享属性。

始终提供方法,这些方法作为第一个参数传递给模型:

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

看看当前的核心和(流行的!)插件/用户空间行为是如何做到的,并接受他们的做事方式。