Использовать модель изнутри cakephp библиотеки

Я создал несколько файлов в папке приложения / Lib и хотел бы получить доступ к одной из моих моделей из классов библиотеки:

<?php App::uses('CrawlerBase','Lib'); App::uses('Deal', 'Model'); class SampleCrawler extends CrawlerBase { public $uses = array('Deal'); function __construct(){ $this->Deal->create(); 

Тем не менее, cake can not, похоже, находит модель Deal и im, получая вызов функции-члена member () для не-объекта в строке создания модели.

Цените помощь.

Другой способ сделать это:

 APP::import('Model', 'Deal'); $this->Deal = new Deal(); $this->Deal->create(); 

Всегда включайте модели вручную, если не в контроллере / оболочке:

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

а потом

 $this->Deal->create(); // etc 

Преимущество: вы разрешаете загрузке Cake и запускаете модель для вас, поэтому, если вы уже сделали это раньше, она попытается ее повторно использовать.

EDIT: ради полноты, внутри контроллера / оболочки вы можете просто сделать

 $this->loadModel('Deal'); $this->Deal->create(); 

Пытаться;

 $ deal = new Deal ();  // создать объект сделки

 // если это не работает, тогда
 ClassRegistry :: Init ( "Сделка");
 $ deal = new Deal ();