【问题标题】:cakephp component $this->controller->modelClasscakephp 组件 $this->controller->modelClass
【发布时间】:2011-05-12 19:49:52
【问题描述】:

在组件中我尝试访问 Myprofile 模型

class SignMeupComponent extends Object
   public function register() {
    $this->__isLoggedIn();
    if (!empty($this->controller->data)) {
        extract($this->settings);
        $model = $this->controller->modelClass;
        $this->controller->loadModel($model);
         $this->controller->{$model}->Myprofile->save($this->controller->data);
       $this->controller->data['Myprofile']['user_id'] = $this->controller->{$model}->id;
        $this->controller->{$model}->set($this->controller->data);
            if ($this->controller->{$model}->validates()) {
  1. 如何使用$this->controller->modelclass
  2. 如何在组件中使用任何模型

感谢任何建议

【问题讨论】:

  • 好的,谢谢约翰,我是新手,现在我了解规则了

标签: cakephp model components cakephp-1.3


【解决方案1】:

$this->controller 默认没有定义。您必须手动保存对控制器的引用,例如在组件的 initialize() 方法中:

public function initialize(&$controller, $settings = array()) {
    $this->controller = $controller;
}

那么你应该可以访问控制器的属性和方法了。

【讨论】:

  • 谢谢,很抱歉,我已经宣布了 initialize(),但要成为函数的一部分,我应该把所有的代码都写下来。我只想知道我想在组件中访问其他模型时是什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多