mysql - 当结果== null时,Yii2从SQL命令获取列名

标签 mysql yii2

如果您得到以下代码:

  $DBConnection = 
    CreateNewDBConnection(Yii::$app->get('db_cdh'),$aDatabaseName);
    $DBConnection->open();
    $command = $DBConnection->createCommand($aQuery);
    $queryres = $command->queryAll();

如果查询有结果,我会得到一个数组,如下所示

Array
(
    [0] => Array
    (
        [name] => 2.6.084.545
        [xdim+2] => 70
    )

[1] => Array
    (
        [name] => 2.5.102.030
        [xdim+2] => 60
    )

[2] => Array
    (
        [name] => 2.5.141.560
        [xdim+2] => 80
    )

)

但是如果查询结果为空,我会得到一个空数组。 如何获取列名称?

我之所以问这个问题,是因为我向多个数据库询问查询,有些有结果(1 行或多行),而其他则没有。系统几乎可以工作,但 GridView 仅解析第一行以查找要显示的列。因此,根据跨多个数据库的顺序结果, GridView 是否显示列,取决于先出现的内容......

欢迎任何帮助。

最佳答案

您可以使用 yii\db\TableSchema 获取列名称然后使用它们:

$columns = [];
if (empty($queryres)) {
    $columns = $DBConnection->getTableSchema('your_table_name')->getColumnNames();
}

关于mysql - 当结果== null时,Yii2从SQL命令获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268824/

相关文章:

mysql - 使用 DataMapper 对两列的差异进行排序

mysql - 如何检查用户在文本框中输入的用户名和密码是否与数据库中的记录匹配

java - hibernate - 更新非 ID 外键

php - Yii2:数组的验证规则?

gridview - 如何将类添加到 GridView 中的 <td> 标签

php - 选择后禁用选项并使用 mysql 跟踪以前的选项

php - XAMPP 中的 phpMyAdmin 错误 #1146

php - 在 yii2 Rest urlmanager 中包含所有 Controller 的最佳方法

mongodb - 如何在 Yii2 中保存 Mongodb 嵌入式数组

php - 如何在表中的特定位置添加带有 Yii 2 迁移的新列?