2010-10-19 4 views
0

У меня небольшая игра с ORM, но я изо всех сил пытаюсь выйти из стартовых блоков. Я знаком с Zend_Db и надеялся, что Doctrine будет работать аналогичным образом, но с большей гибкостью.Неустранимая ошибка при использовании Doctrine ORM с Zend Framework

Я следил за различными учебниками, чтобы интегрировать 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 

Я не знаю, имеет ли он какое-либо отношение к автозагрузчикам, но поскольку модели таблиц находятся в объеме ресурсов модуля, я бы не подумал, что это будет проблемой.

Я должен добавить, что в моем загрузочном блоке я добавил соединение, которое захватывает PDO Zend_Db только для этого теста.

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

ответ

1

Я обнаружил, что делаю неправильно. Я пытался ссылаться на экземпляр Doctrine_Table, когда я должен был ссылаться на экземпляр Doctrine_Record.

Имя метода Doctrine_Core::getTable() вводит в заблуждение

Это оставляет меня с большим количеством вопросов о том, как структурировать модели?

Смежные вопросы