我有两个对象Schedule和LocationPage.对象Schedule与以下内容有$has_one关系LocationPage:
class Schedule extends DataObject {
private static $db = array(
'Date' => 'Date',
);
private static $has_one = array(
'Location' => 'LocationPage',
);
}
Run Code Online (Sandbox Code Playgroud)
和
class LocationPage extends Page {
private static $db = [
'Heading' => 'HTMLVarchar(250)',
'SubHeading' => 'Varchar(250)'
];
}
Run Code Online (Sandbox Code Playgroud)
当我尝试按关系字段排序时,Title它会给我一个错误.这是排序代码:
Schedule::get()->sort(['Location.Title' => 'ASC']);
Run Code Online (Sandbox Code Playgroud)
这是调用上面代码时得到的排序错误:
[用户错误]未捕获SS_DatabaseException:无法运行查询:SELECT DISTINCT"Schedule"."ClassName","Schedule"."LastEdited","Schedule"."Created","Schedule"."Date","Schedule" ."LocationID","Schedule"."ID",CASE WHEN"Schedule"."ClassName"IS NOT NULL那么"Schedule"."ClassName"ELSE'Instal'END AS"RecordClassName","LocationPage"."Title" AS"_SortColumn0"FROM"Schedule"LEFT JOIN"LocationPage"ON"LocationPage"."ID"="Schedule"."LocationID"INNER JOIN"Page"ON"LocationPage"."ID"="Page"."ID" INNER JOIN"SiteTree"ON"LocationPage"."ID"="SiteTree"."ID"ORDER BY"_SortColumn0"ASC未知列'LocationPage.Title'在'字段列表'中
是什么导致了这个问题?