在zend框架脚本中加载doctrine模型

时间:2010-09-02 05:31:46

标签: zend-framework scripting doctrine models

我使用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 :(得分:0)

现在我可以将其添加到脚本中:

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));