在ZF2中获取mysql表字段名称

时间:2013-03-21 09:09:24

标签: php mysql zend-framework2

我想将csv数据动态存储到mysql表中。根据我的csv列标题,我想将数据插入mysql表中的各个列。为此,我需要从Zend Framework Controller或Model。获取所有表字段名称。

我尝试过:

**

$metadata = new Zend\Db\Metadata\Metadata($adapter);
$table = $metadata->getTable($tableName);
$table->getColumns();

**

但是,它显示错误:

致命错误:未找到“导入\模型\ Zend \ Db \元数据\元数据”类。

如何使用 Zend Framework 2 获取所有mysql表字段名称?

请帮帮我。

4 个答案:

答案 0 :(得分:4)

你必须在zend之前使用反斜杠 纠正一个:

$metadata = new \Zend\Db\Metadata\Metadata($adapter);

答案 1 :(得分:2)

您还可以使用文件顶部的use - 语句。

namespace Import\Model;

use Zend;

或者您使用以下内容:

namespace Import\Model;

use Zend\Db\Metadata\Metadata;

// ... lots of code here ;-)
$metadata = new Metadata($adapter);

答案 2 :(得分:0)

在标题部分

名称空间Import \ Model;

使用Zend \ Db \ Metadata \ Metadata;

在模态功能中

$ metadata = new元数据($ adapter);

$字段= $ metadata-> getColumnNames($表);

答案 3 :(得分:0)

您应该为此使用工厂,而不是创建元数据的新实例(不再使用它)。

use Zend\Db\Metadata\Source\Factory;

$metadata = Factory::createSourceFromAdapter($adapter);