1

我想将 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 表字段名称?

4

4 回答 4

4

您必须在 zend 正确之前使用反斜杠:

$metadata = new \Zend\Db\Metadata\Metadata($adapter);
于 2013-03-21T14:21:25.233 回答
2

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

namespace Import\Model;

use Zend;

或者您使用以下内容:

namespace Import\Model;

use Zend\Db\Metadata\Metadata;

// ... lots of code here ;-)
$metadata = new Metadata($adapter);
于 2013-03-21T14:29:23.347 回答
0

在标题部分

命名空间导入\模型;

使用 Zend\Db\元数据\元数据;

在模态函数中

$元数据=新元数据($适配器);

$fields=$metadata->getColumnNames($table);

于 2015-02-09T07:51:03.100 回答
0

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

use Zend\Db\Metadata\Source\Factory;

$metadata = Factory::createSourceFromAdapter($adapter);
于 2018-08-27T19:04:34.090 回答