【问题标题】:Sorting Versioned ModelAdmin对版本化模型管理进行排序
【发布时间】:2014-09-01 06:30:48
【问题描述】:

我正在尝试在 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 上。

【问题讨论】:

    标签: silverstripe modeladmin


    【解决方案1】:

    您已经回答了自己的问题。如果该表上不存在该列,则在查询 SiteTree 时不能按 Status 排序。

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

    【讨论】:

    • 我正在使用public static $managed_models = array( 'Listing' => array("title" => 'Listings'), 'MLSListing' => array("title" => 'MLS Listings'), 'UnavailableListing' => array("title" => 'Unavailble Listings') );
    猜你喜欢
    • 2011-11-08
    • 1970-01-01
    • 2012-01-31
    • 2013-11-27
    • 2011-04-10
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多