【问题标题】:How to get Column Name With Zend DB如何使用 Zend DB 获取列名
【发布时间】:2009-04-02 08:18:42
【问题描述】:

如何使用 Zend DB 获取列名

【问题讨论】:

  • 也许您应该稍微描述一下您正在尝试做的事情......但 Apikot 的回答是一个起点。

标签: zend-framework zend-db


【解决方案1】:

这是正确的答案,旧的答案是错误的或过时的:

$cols = $table->info(Zend_Db_Table_Abstract::COLS); 

【讨论】:

  • 重写了您的介绍文本,因为 SO 不知道“碰撞”并且问题/答案不被认为是旧的。事实上,SO 是一个 wiki,更新它是你能做的最好的事情之一! +1
【解决方案2】:
$metadata = $db->describeTable($tableName);
$columnNames = array_keys($metadata);

http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.list-describe

【讨论】:

  • 这并不是 100% 正确的,因为 $metadata 是关联数组的关联数组 ('column_name' => array())(表格的每一列一个)。
  • 将schame的名字添加到$db->describeTable($tableName, $schema); ,我只是在使用 oracle 时出错,如果我更改了旧的列名并且必须指定架构以返回正确的列名
【解决方案3】:

上一个答案仅适用于版本 对于当前版本的 ZF (2.2) 使用:

$table = new Zend\Db\TableGateway\TableGateway('table', $Dbadapter, new Zend\Db\TableGateway\Feature\MetadataFeature());
$columns = $table->getColumns();

http://framework.zend.com/manual/2.2/en/modules/zend.db.table-gateway.html#tablegateway-features http://framework.zend.com/manual/2.2/en/modules/zend.db.metadata.html

【讨论】:

    【解决方案4】:

    你可以使用 describeTable 方法

    【讨论】:

      【解决方案5】:

      我喜欢这种方式:

      $table->info('cols');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-05
        • 1970-01-01
        • 2012-05-02
        • 2011-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多