私は2つのオブジェクトSchedule
とLocationPage
を持っています。私はそれは私にエラーを与える関係フィールドTitle
でソートしようとするとSilverStripeソート順has_one関連フィールド "title"
class Schedule extends DataObject {
private static $db = array(
'Date' => 'Date',
);
private static $has_one = array(
'Location' => 'LocationPage',
);
}
と
class LocationPage extends Page {
private static $db = [
'Heading' => 'HTMLVarchar(250)',
'SubHeading' => 'Varchar(250)'
];
}
:オブジェクトSchedule
はLocationPage
から$has_one
関係を持っています。ここでは、ソート・コードは次のとおりです。[ユーザーエラー]キャッチされないSS_DatabaseException
:ここ
Schedule::get()->sort(['Location.Title' => 'ASC']);
は、上記のコードを呼び出すときに私が得るソート・エラーであるクエリを実行できませんでした:DISTINCT「スケジュールを選択しますスケジュール "、"スケジュール "、"スケジュール "、"日付 "、"スケジュール "、"ロケーションID "、"スケジュール "、" ID "、CASE WHEN"スケジュール"" ClassName "は"スケジュール "、" ClassName "はELSE 'スケジュール' END AS" RecordClassName "、" LocationPage "、" Title "AS" _SortColumn0 "FROM"スケジュール "LEFT JOIN" LocationPage "ON" LocationPage " "ID" = "スケジュール" "LocationID" INNER JOIN "Page" ON "LocationPage"。 "ID" = "ページ"。 "ID" INNER "LocationPage" ON "SiteTree"。 "ID" = "SiteTree" "_SortColumn0" ASC不明な列 'LocationPage.Title' 'フィールドリスト' は、この問題を引き起こしている何
でBY。 "ID" 結合順序を?
これは、これがシルバーストライプバグであることを縫い合わせています。私は問題を開いた。うまくいけば、彼らはこれを修正します。 –
この問題は参考用です:https://github.com/silverstripe/silverstripe-framework/issues/7029 –