Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cakephp component $this->controller->modelClass

In Component I try to access Myprofile Model

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. how to use $this->controller->modelclass
  2. how to use any model in component

thank for any suggest

like image 414
krissanawat Avatar asked Dec 10 '22 08:12

krissanawat


1 Answers

$this->controller is not defined by default. You have to save a reference to the controller manually, for example in the initialize() method of your component:

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

Then you should be able to access the controller's properties and methods.

like image 197
dhofstet Avatar answered Jan 15 '23 17:01

dhofstet