Use a model in a component

前端 未结 3 1226
我在风中等你
我在风中等你 2021-02-07 02:07

How do I use a model in a component in CakePHP?

In a controller you can use

public $uses = array(...);

but that doesn\'t work in a

相关标签:
3条回答
  • 2021-02-07 02:50

    Try this code:

    $model = ClassRegistry::init('Yourmodel');
    

    Simple query with your model into your component

    $result= $model->find('all');
    
    0 讨论(0)
  • 2021-02-07 02:52

    You could do it this way:

    $this->ModelName = ClassRegistry::init('ModelName');
    

    But it is suppose you don't use Models inside components.

    0 讨论(0)
  • 2021-02-07 02:59

    If you need the current Model you can use the initialize() or startup() callback of the Component.

    public function initialize(Controller $controller) {
        $this->Controller = $controller;
        $this->Model = $this->Controller->{$this->Controller->modelClass};
        $this->modelAlias = $this->Model->alias;
        parent::initialize($controller);
    }
    

    Now you can access the model everywhere in your component.

    public function countAllItems() {
        return $this->Model->find('count');
    }
    
    0 讨论(0)
提交回复
热议问题