2011-05-12 70 views
4

在组件我尝试访问我的资料型号

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. 如何使用$这 - >控制器 - > modelclass
  2. 如何使用任何模型组件

感谢任何建议

+0

好的,谢谢约翰我是新手 现在我明白了统治 – krissanawat 2011-05-13 07:27:37

回答

14

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

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

那么你应该能够访问控制器的属性和方法。

+0

感谢我很抱歉,我已经宣布的initialize() 但仅被 我应该下来所有的代码或没有功能的一部分。 我只想知道,我想访问什么其他型号 当它在组件 – krissanawat 2011-05-13 05:37:42

相关问题