компонент торта $ this-> controller-> modelClass - PullRequest
4 голосов
/ 12 мая 2011

В компоненте я пытаюсь получить доступ к модели 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. как использовать любую модель в компоненте

спасибо за любые предложения

1 Ответ

14 голосов
/ 13 мая 2011

$this->controller не определено по умолчанию.Вы должны сохранить ссылку на контроллер вручную, например, в методе initialize() вашего компонента:

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

Тогда вы сможете получить доступ к свойствам и методам контроллера.

...