Zend_Db_Table_Rowset
не имеет свойства _primary
.Вы ссылаетесь на экземпляр Zend_Db_Table
, из которого вы получили набор строк, или экземпляр Zend_Db_Table_Row
внутри набора строк.
Для получения первичного ключа из экземпляра Zend_Db_Table
вы можете сделать:
$tableInstance->info('primary')
Для получения первичного ключа из экземпляра Zend_Db_Table_Row
вы можете получить экземпляр таблицы и вызвать на нем info()
:
$rowInstance->getTable()->info('primary')
Обратите внимание, что это не будет работать, когда строкаотключен, потому что тогда getTable()
вернет null
.
Или, при использовании пользовательского Zend_Db_Table_Row
, вы можете добавить метод, который прокси к _getPrimaryKey()
:
class My_Db_Table_Row extends Zend_Db_Table_Row
{
public function getPrimaryKey()
{
return $this->_getPrimaryKey();
}
}