2014-07-10 39 views
0

我試圖做一個自定義排序的ModelAdmin 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上不存在,它存在於清單中。

回答

1

你有種回答你自己的問題。如果該列不存在於該表上,則在查詢SiteTree時,您無法通過Status進行訂購。

您需要將您的模型類更改爲Listing或將Status列添加到您的SiteTree表中。

+0

我使用'公共靜態$ managed_models =陣列( \t \t '清單'=>陣列( 「標題」=> '表'), \t \t 'MLSListing'=>陣列( 「標題」=> 'MLS Listings'), \t \t'UnavailableListing'=> array(「title」=>'Unavailble Listings') \t);' – thezenmonkey