0

我有一个控制器(A)来管理一个对象,在控制器中我有一个方法来检查是否$this->Auth->user(id)允许访问该对象。
它是通过访问关联模型 ( $this->ModelA->ModelB->...) 来完成的。

现在,在另一个控制器 (C) 中,我需要检查相同的问题(对于某些内部逻辑)。但是,此控制器的模型与 ModelB 无关。
所以,我的问题是:如何检查它?纯 SQL 是可能的,但我更愿意避免它。

我看到的唯一方法是从另一个控制器调用该方法..

4

1 回答 1

0

将逻辑放入一个方法中,AppController以便所有控制器都可以访问它。
在该方法中,如有必要,加载模型:

class AppController extends Controller {

    protected function isUserAllowed() {
        if (!isset($this->TheModel)) {
            $this->loadModel('TheModel');
        }

        ...
    }

}
于 2012-04-12T09:10:38.407 回答