7

使用 SugarORM ,我明白在一段关系中我可以做到这一点

public class Book extends SugarRecord<Book> {
  String name;
  String ISBN;
  String title;
  String shortSummary;

  // defining a relationship
  Author author;
}

那么我如何在 Book.class 上进行查找,以便我可以按作者订购。

我努力了

Book.find(Book.class, null, null, null, "author.id desc",null);;

Book.find(Book.class, null, null, null, "author desc",null);;

而所有这些都行不通

4

2 回答 2

10

对于简单的查询,建议使用查询构建器方法,例如:

Select.from(Book.class)
.orderBy("ISBN")
.list();

无论如何请记住,SugarORM 是基于 SQLite 的,在您的特定情况下,您正试图通过关系进行排序。然后,您应该使用连接构建自定义查询,并按表作者字段的顺序(id、姓名、姓氏等...取决于您的目的)

于 2016-02-11T08:15:35.543 回答
3

我的建议是你使用 Sugar ORM Custom Query Builder,可以使用这个来调用

Book.executeQuery("VACUUM");

或者您也可以使用findWithQuery具有以下语法的方法

List<Note> notes = Note.findWithQuery(Note.class, "SELECT * FROM Book 
                                        ORDER BY author DESC", null);
于 2015-09-23T10:47:12.817 回答