0

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'

明らかに、Status は SiteTree には存在せず、Listing に存在します。

4

1 に答える 1

1

あなたは一種のあなた自身の質問に答えました。列がそのテーブルに存在しない場合、Statusクエリを実行するときに並べ替えることはできません。SiteTree

モデル クラスを変更するか、列をテーブルにListing追加する必要があります。StatusSiteTree

于 2014-07-11T11:04:38.630 に答える