0

我正在尝试在 ModelAdmin 中对 SiteTree 对象进行自定义排序

public function getList() {
    $list = parent::getList();

    if($this->modelClass == 'Listing') {
        $list = $list->sort(array('Status' => 'ASC','Street' => 'ASC'));
    }
    return $list;
}

排序有效,但是当您尝试编辑记录时,出现以下错误:

[User Error] Couldn't run query: SELECT DISTINCT "SiteTree_Live"."ID", "Status", "Street" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ClassName" IN ('Listing','UnavailableListing')) ORDER BY "Status" ASC, "Street" ASC LIMIT 30 Unknown column 'Status' in 'field list'

显然,SiteTree 上不存在 Status,它存在于 Listing 上。

4

1 回答 1

1

你已经回答了你自己的问题。Status查询SiteTree该表上是否不存在该列时,您无法排序。

您需要将模型类更改为Listing或将Status列添加到SiteTree表中。

于 2014-07-11T11:04:38.630 回答