我有DataObject
的默认排序:
class Author extends DataObject {
private static $db = array('Name' => 'Varchar');
private static $default_sort = 'Name ASC';
}
我希望Author::get()
数据但没有排序。
所以......
Author::create(array('Name' => 'DEF'))->write();
Author::create(array('Name' => 'ABC'))->write();
这将使用排序输出 ABC 然后 DEF ,但如果排序已清除,我希望 DEF 然后 ABC
我已尝试Author::get()->sort('')
和Author::get()->sort(null)
,但两者都返回 ABC ,然后再次 DEF 。
注意我问的原因是我有一个复杂的查询(使用连接),这会引起问题,如果我尝试设置排序,我也会收到错误。< / p>
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在#OR; ORDER BY&#34; _SortColumn0&#34;附近使用正确的语法。 ASC&#39;在第1行
因此,解决方案以及我想知道的是,如何清除特定Author::get()
的默认排序,同时保持DataObject
上的现有默认排序?
答案 0 :(得分:4)
我认为取消排序的唯一方法是操纵支持运行DataQuery
时返回的DataList
的{{1}}。
Author::get()