Использовать модель в компоненте

Как использовать модель в компоненте в CakePHP?

В контроллере вы можете использовать

public $uses = array(...);

но это неработать в компоненте.

Что значит?

Ответы на вопрос(3)

Если вам нужна текущая модель, вы можете использоватьинициализации () или жезапускать() обратный вызов компонента.

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

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

public function countAllItems() {
    return $this->Model->find('count');
}

Вы можете сделать это следующим образом:

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

Но если вы неИспользовать модели внутри компонентов.

 mark13 дек. 2012 г., 15:21
это всегда зависит от конкретного случая использования. вопрос не показывает слишком много, все же.
 Alessandro Minoccheri13 дек. 2012 г., 15:18
почему вы советуете не использовать модель внутри компонента?
 Alvaro13 дек. 2012 г., 15:20
Когда вы начинаете использовать более одной модели в компоненте, может быть лучше использовать поведение.
 Habeeb Perwad27 июн. 2014 г., 12:08
+1, так как ты неудачник. @AlessandroMinoccheri, и вы добавили ответ в то же время. Но ты немного голосов :(
Решение Вопроса

Попробуйте этот код:

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

Простой запрос с вашей моделью в ваш компонент

$result= $model->find('all');
 mostafaznv17 окт. 2016 г., 15:48
да: D ты спас мне жизнь: D
 Alessandro Minoccheri13 дек. 2012 г., 15:16
мы приветствуем @LucPrevoo
 mark13 дек. 2012 г., 15:22
лучшеYourmodel (верхний регистр)
 AgeDeO13 дек. 2012 г., 15:15
Это работает, спасибо

Ваш ответ на вопрос