按多个字段排序(整理)
Sorting by multiple fields (collation)
在我的对象框模型中 class 我有 2 个字段:
@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateModified;
@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateTaken;
有些元素的两个字段都已填充,而其他元素的 dateModified 不为空且 dateTaken 为空。如果查询结果不为空,我想按 dateTaken 排序,否则按 dateModified 排序。是否可以使用 Objectbox 查询(即某种整理)来做到这一点?
如果您不介意在 Java/Kotlin 方面这样做,您可以使用 QueryBuilder.sort(comparator)
。
由于您实现了比较器,因此您可以随意排序。伪代码示例:
dateThis = x.date1 != null? x.date1: x.data2
dateOther = y.date1 != null? y.date1: y.data2
return dateThis.compareTo(dateOther)
在我的对象框模型中 class 我有 2 个字段:
@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateModified;
@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateTaken;
有些元素的两个字段都已填充,而其他元素的 dateModified 不为空且 dateTaken 为空。如果查询结果不为空,我想按 dateTaken 排序,否则按 dateModified 排序。是否可以使用 Objectbox 查询(即某种整理)来做到这一点?
如果您不介意在 Java/Kotlin 方面这样做,您可以使用 QueryBuilder.sort(comparator)
。
由于您实现了比较器,因此您可以随意排序。伪代码示例:
dateThis = x.date1 != null? x.date1: x.data2
dateOther = y.date1 != null? y.date1: y.data2
return dateThis.compareTo(dateOther)