Php 为什么$db->;info(';primary';)返回数组而不是字符串?

Php 为什么$db->;info(';primary';)返回数组而不是字符串?,php,mysql,zend-framework,primary-key,zend-db-table,Php,Mysql,Zend Framework,Primary Key,Zend Db Table,我已经找了一两个小时的答案,却找不到。我有一个扩展了Zend\u Db\u Table\u Abstract的类,在这里我填充了表名及其主键。这是: <?php class Produit_Model_DbTable_Fiche extends Zend_Db_Table_Abstract { /** * @var string */ protected $_name = 'table_name'; /** * @var strin

我已经找了一两个小时的答案,却找不到。我有一个扩展了
Zend\u Db\u Table\u Abstract
的类,在这里我填充了表名及其主键。这是:

<?php

class Produit_Model_DbTable_Fiche extends Zend_Db_Table_Abstract
{
    /**
     * @var string
     */
    protected $_name = 'table_name';

    /**
     * @var string
     */
    protected $_primary = 'primary';

    public function getName()
    {
        return $this->_name;
    }

    public function getPrimary()
    {
        return $this->_primary;
    }
}
错误消息指出未找到
列:“where子句”中的1054未知列“Array”
,因为正如我所说,我试图用
$db->info('primary')
回送数组,而我希望它是一个字符串


PS:我已经看到了这个问题/答案,但我仍然模糊不清:

您链接的问题中有一个答案——“Zend_Db_表将主键存储为数组,以防使用复合键”。这意味着SQL表可以将多个列设置为主键,从而创建称为“复合键”的内容。这样的键不能存储在单个变量中,这就是它存储在数组中的原因。大多数表使用单个键,所以Zend可以根据键返回字符串或数组,但它们更喜欢保持一致并始终返回数组

// $db is an instance of Produit_Model_DbTable_Fiche
$select = $db->select();
$select->from($db, $columns)
       ->where($db->info('primary').' = ?', $id);
$row = $db->fetchRow($select);