在cakephp 2.x中动态获取模型名称

时间:2015-04-03 06:46:33

标签: model-view-controller cakephp-2.3

是否有任何函数可以在cakePhp中获取所有表或模型名称。 我想更新我的表格字段,为此我需要动态选择所有表格,这样以后当我添加新表格时,我不必在功能上进行更改。 新表会自动更新字段。

1 个答案:

答案 0 :(得分:0)

我不太明白这个问题 - 从我收集的内容中你想写抽象的动作来解释多个模型?如果是这种情况,您可以将抽象操作添加到AppController中并使用$this->modelClass。如果您正在调用抽象操作,这将返回模型名称。例如,如果您从'UsersController'调用抽象操作,默认情况下使用模型'User',那么modelClass将返回'User'。

class AppController extends Controller {

    public function abstractAdd() {
        // Get the model in use
        $this->{$this->modelClass}->create();
        // Use the save method in that model
        if ($this->{$this->modelClass}->save($data)) {
            // do something
        }         
    }

}

class UsersController extends AppController {

    public function add() {
        $this->abstractAdd();
    }

}

希望这有帮助