ZF2中获取mysql表字段名
Posted
技术标签:
【中文标题】ZF2中获取mysql表字段名【英文标题】:Get mysql table field names in ZF2 【发布时间】:2013-03-10 17:04:24 【问题描述】:我想将 csv 数据动态存储到 mysql 表中。根据我的 csv 列标题,我想将数据插入到 mysql 表中的相应列中。为此,我需要从 Zend Framework Controller 或 Model 中获取所有表字段名称。
我试过了:
**
$metadata = new Zend\Db\Metadata\Metadata($adapter);
$table = $metadata->getTable($tableName);
$table->getColumns();
**
但是,它显示错误:
致命错误:找不到类“Import\Model\Zend\Db\Metadata\Metadata”。
如何使用 Zend Framework 2 获取所有 mysql 表字段名称?
【问题讨论】:
记住命名空间...$metadata = new \Zend\Db\Metadata\Metadata($dba)
。您缺少前导反斜杠
【参考方案1】:
你必须在zend之前使用反斜杠 正确的一个:
$metadata = new \Zend\Db\Metadata\Metadata($adapter);
【讨论】:
【参考方案2】:您也可以使用文件顶部的use
-statement。
namespace Import\Model;
use Zend;
或者您使用以下内容:
namespace Import\Model;
use Zend\Db\Metadata\Metadata;
// ... lots of code here ;-)
$metadata = new Metadata($adapter);
【讨论】:
事情对我更有帮助。谢谢。【参考方案3】:在标题部分
命名空间导入\模型;
使用 Zend\Db\Metadata\Metadata;
在模态函数中
$metadata = 新元数据($adapter);
$fields=$metadata->getColumnNames($table);
【讨论】:
【参考方案4】:您应该为此使用工厂,而不是创建元数据的新实例(已弃用)
use Zend\Db\Metadata\Source\Factory;
$metadata = Factory::createSourceFromAdapter($adapter);
【讨论】:
以上是关于ZF2中获取mysql表字段名的主要内容,如果未能解决你的问题,请参考以下文章