我正在尝试在SiteTree对象
上的ModelAdmin中进行自定义排序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。
答案 0 :(得分:1)
您已经回答了自己的问题。如果该列不存在于该表中,则在查询Status
时,您无法按SiteTree
订购。
您需要将模型类更改为Listing
或将Status
列添加到SiteTree
表。