我正在编写一个行为
<?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, ...) {}
等
看看当前的核心和(流行的!)插件/用户空间行为是如何做到的,并接受他们的做事方式。