Cakephp ClassRegistry :: проблема init - PullRequest
0 голосов
/ 18 июля 2011

Пожалуйста, помогите мне в этой проблеме

Я создал компонент.в компоненте у меня есть такой метод

function storeClick($id = ''){

    if(strlen($id) > 0){
       $ip = $this->RequestHandler->getClientIP();

        $data['FocikiClickDetail']['ip'] = $ip;
        $data['FocikiClickDetail']['photo_id'] = $id;
          $mo = ClassRegistry::init('ClickDetail');

          $mo->save($data);

          return true;
    }
    return false;
}

Проблема в строке этого

$mo = ClassRegistry::init('ClickDetail');

Каждый раз, когда я удаляю эту строку, мое приложение запускается как обычно, в противном случаеэто не будет

Большое спасибо.

1 Ответ

2 голосов
/ 22 июля 2011

Лучшим способом загрузки моделей в компоненты является использование контроллера и использование loadModel ();

В вашем компоненте настройте функцию initialize (), если вы еще этого не сделали

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

Затем в функции компонента используйте loadModel для загрузки модели

$this->Controller->loadModel('ClickDetail');
$this->Controller->ClickDetail->save($data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...