загрузка моделей доктрин в скрипты Zend Framework - PullRequest
0 голосов
/ 02 сентября 2010

Я использую Zend Framework 1.10 и у меня есть скрипт в библиотеке скриптов.

Я запускаю этот скрипт из командной строки.

как мне загрузить все модели доктрины и использовать их в моем сценарии.

в начале сценария я пишу

/**
 * Doctrine CLI script
 */
define('APPLICATION_ENV', 'production');
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    realpath(APPLICATION_PATH . '/../library/lib'),
    realpath(APPLICATION_PATH . '/models/generated'),
    realpath(APPLICATION_PATH .'/models'),
    get_include_path()
))); 

require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);

тогда я подключаюсь к доктрине

require_once 'Doctrine.php';

$doctrineConfig = $application->getOption('doctrine');
$manager = Doctrine_Manager::getInstance();
$manager->openConnection($doctrineConfig['connection_string']);

затем, когда я пытаюсь выполнить запрос вроде:

 $q = Doctrine_Query::create()
            ->select('c.CampaignId')            
            ->from('ModelCampaigns c');

он пишет ошибку:

Неустранимая ошибка: необработанное исключение «Doctrine_Exception» с сообщением 'Не удалось найти класс ModelCampaigns'

1 Ответ

0 голосов
/ 02 сентября 2010

теперь хорошо, я добавляю это в скрипт:

require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);

$moduleLoader = new Zend_Application_Module_Autoloader(array(
    'namespace' => '',
    'basePath' => APPLICATION_PATH));
...