PHP выдает эту ошибку:
Fatal error: Call to a member function getAdapter() on a non-object in C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Db\Table\Row\Abstract.php on line 869
... когда я вызываю этот код:
$item = $itemMapper->find(1); // Find item with id of 1
$item->findDependentRowset("Application_Model_DbTable_SubItem");
У меня есть следующие другие классы:
models/DBTable/Item.php
:
class Application_Model_DbTable_Item extends Zend_Db_Table_Abstract {
/** Table name */
protected $_name = 'items';
}
models/DBTable/SubItem.php
:
class Application_Model_DbTable_SubItem extends Zend_Db_Table_Abstract {
/** Table name */
protected $_name = 'subitems';
protected $_referenceMap = array(
'Item' => array(
'columns' => 'items_id',
'refTableClass' => 'Application_Model_DbTable_Item',
'refColumns' => 'items_id'
)
);
}
Насколько мне известно, все мои модели, картографы и таблицы базы данных настроены правильно. Доступ к модели через оболочку и fetchAll
работает нормально.
Мои модели расширяются Zend_Db_Table_Row
. Почему это дает мне эту ошибку?
FYI:
Строка, на которую ссылается сообщение об ошибке, выглядит следующим образом:
public function findDependentRowset($dependentTable, $ruleKey = null, Zend_Db_Table_Select $select = null){
$db = $this->_getTable()->getAdapter(); // <<<< there it is
...