2011-05-12 69 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

相關問題