CakePHP从Controller内部获取对Model的通用引用

时间:2013-09-17 18:25:54

标签: php cakephp model

(CakePHP 2.3,CentOS)所以,这是交易:我有一个控制器'SpecialController'我写的,它在我的应用程序中做了一些方便的杂技。要完成它的工作,需要了解Model对象。在这种情况下,模型是$ this-> User。 SpecialController无法知道这个,因为它只是一个基类,所以我在beforeFilter()中明确地告诉它Model:

class UsersController extends SpecialController {

    function beforeFilter() {

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

    parent::beforeFilter();

    }

bindModel()函数只是在内部记录一个引用,以便我的SpecialController可以执行特殊操作。我想不得不告诉它关于$ this->用户。是否有可以参考模型的房产?我怀疑有类似“$ this-> modelObj”的东西设置为与“$ this-> User”相同的值,但我在文档中找不到任何内容。

2 个答案:

答案 0 :(得分:3)

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

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

不确定这是否是您正在寻找的。

答案 1 :(得分:0)

在蛋糕书中看到这一点:http://book.cakephp.org/2.0/en/controllers.html#Controller :: $使用