mysql - 无法在管理选项卡上呈现外部数据库数据

标签 mysql silverstripe

我正在尝试将外部数据库数据显示到自定义管理选项卡上,但出现错误。有人可以帮我解决这个问题吗?我能够从外部数据库获取数据,但是当我将它传递给 GridField 时,它给我这个错误。

错误###

“get_class() 期望参数 1 为对象,给定数组”

这是我的代码

public function getList() {
    
    $externalDB = $object = Injector::inst ()->create ( 'ExternalDatabase' );
    $results = $externalDB->query ( 'SELECT "Course" FROM "Courses"' );
    $list = ArrayList::create ();
    foreach ( $results as $row ) {
        $list->push  ( $row ) ;
    }
    
    return $list;
}

我有 ExternalDatabase 类来解析我的查询并返回结果。

最佳答案

与其直接推送行,不如尝试做

$list->push(ArrayData::create($row));

关于mysql - 无法在管理选项卡上呈现外部数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33164918/

相关文章:

php - 将 Magento 连接到 Google Cloud SQL 作为 MySQL 服务器错误

php - 如何使用 $wpdb 类在 wordpress 中显示特色图片

mysql - 几个异步函数后的一个响应

SilverStripe 4.1 - SS_DEFAULT_ADMIN_USERNAME 和 PASSWORD 不受尊重

java - Spring @Query 删除引号

mysql - 如何根据多个不同的组计算行数?

php - DataExtension 中的 SilverStripe insertHeadTags

php - Silverstripe 管理页面未出现

JavaScript 警报不起作用

php - SilverStripe 3.1 移除 SortableGridField 分页并显示所有 DataObejcts