繁体   English   中英

在Zend Framework中使用Doctrine ORM时发生致命错误

[英]Fatal Error when using Doctrine ORM with Zend Framework

我在与ORM玩耍时有点挣扎,但我正努力摆脱起跑点。 我对Zend_Db很熟悉,并希望Doctrine以类似的方式工作,但具有更大的灵活性。

我遵循了各种教程,以将Doctrine与Zend Framework集成在一起。 所有这些教程或多或少都说相同的话。

我做了一些基本的Doctrine_Record类,据我所知,您使用Doctrine_Table的方式与使用Zend_Db_Table_Abstract的方式相同。

我还没有弄清楚如何将Record对象与Table对象联系起来,但这是另一回事了。

我遇到的问题是当我尝试使用...获取表实例时

    $role = Doctrine_Core::getTable('Admin_Model_RoleTable');

我遇到一系列致命错误...

    Catchable fatal error: Argument 2 passed to Doctrine_Table::__construct() 
    must be an instance of Doctrine_Connection, none given

    Catchable fatal error: Argument 1 passed to Doctrine_Configurable::setParent()
    must be an instance of Doctrine_Configurable, null given

    Call to a member function addTable() on a non-object

我不知道它是否与自动加载器有关,但是由于表模型在模块资源的范围之内,所以我认为这不会成为问题。

我应该在引导程序中添加一个连接,该连接只是为了进行此测试而劫持Zend_Db的PDO。

    $manager = Doctrine_Manager::getInstance();
    $manager->connection($this->getResource('db')
            ->getConnection(), 'db'); 

我发现我做错了。 当我应该引用Doctrine_Record实例时,我试图引用Doctrine_Table实例。

方法名称Doctrine_Core::getTable()具有误导性

这些使我对如何构建模型还有更多疑问?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM