1

(CakePHP 2.3,CentOS)所以,这里是交易:我有一个控制器“SpecialController”,我已经编写了它,它可以在我的应用程序中执行一些我需要的方便的杂技。要完成它的工作,它需要了解 Model 对象。本例中的模型是 $this->User。SpecialController 无法知道这一点,因为它只是一个基类,所以我在 beforeFilter() 中明确地告诉它模型:

class UsersController extends SpecialController {

    function beforeFilter() {

    $this->bindModel($this->User);

    parent::beforeFilter();

    }

bindModel() 函数只是在内部记录一个引用,以便我的 SpecialController 可以做一些特殊的事情。我不想告诉它关于 $this->User 的事情。是否有引用模型的属性?我怀疑有类似“$this->modelObj”的东西被设置为与“$this->User”相同的值,但我在文档中找不到任何东西。

4

2 回答 2

3

如果您使用控制器作为基类,您可以执行以下操作:

function beforeFilter(){
    parent::beforeFilter();
    $this->bindModel($this->{$this->modelClass});
    // or 
    $this->bindModel(ClassRegistry::init($this->modelClass));
}

不确定这是否是您要查找的内容。

于 2013-09-17T21:51:29.127 回答
0

在蛋糕书中看到这个:http: //book.cakephp.org/2.0/en/controllers.html#Controller ::$uses

于 2013-09-17T18:33:51.533 回答