【问题标题】:How can I call getColumnMeta() on cake statement如何在蛋糕声明中调用 getColumnMeta()
【发布时间】:2016-05-05 07:56:25
【问题描述】:

我想通过运行以下命令获取结果集的元数据

$stmt = $connection->execute($some_query);
return $stmt->getColumnMeta(0);

因为getColumnMeta函数被标记为EXPERIMENTAL,蛋糕开发者好像没有激活它。

但是我想在我的项目上运行这个函数,如何将 cake 语句转换为 PdoStatement 来运行这个函数。

【问题讨论】:

  • 当问题涉及数据库相关内容时,请提及您正在使用的 DMBS 并相应地标记您的问题 - 谢谢!

标签: database pdo orm cakephp-3.0


【解决方案1】:

也许有更简单的方法,但我设法通过这种方式获得 PDOStatement

$connection = \Cake\Datasource\ConnectionManager::get('default');
$stmt = $connection->execute($some_query);
$stmt->getInnerStatement()->getInnerStatement()->getColumnMeta(0);

或者如果您已经有声明

$stmt->getInnerStatement()->getColumnMeta(0);

我通过查看 API 文档的反复试验找到了这个解决方案。也许有人会给出更好的解释。

【讨论】:

  • 错误:调用未定义的方法 PDOStatement::getInnerStatement()
  • 所以试试 $stmt->getInnerStatement()->getColumnMeta(0);
  • 你的 $connection 变量来自哪里?
猜你喜欢
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多