在Realm过滤父母和子女 - Android

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述在Realm过滤父母和子女 - Android相关的知识,希望能为你提供帮助。
我有两个类,我映射为RealmObject,我想做一个查询,将过滤父类和子类。
该查询将过滤所有大于通过日期的产品,并在里面过滤所有日期大于通过日期的compras。
是否可以通过查询来实现,或者我真的需要执行产品的查询,然后把这个列表删除我不想要的compras?

public class Produto extends RealmObject implements Id{@PrimaryKey private Long id; @Index @Required private String codigoBarras; private String nome; private String marca; private String categoria; private String subCategoria; private Double quantidade; private String unidade; private byte[] imagemData; private Date dataAlteracao; private RealmList< Compra> compras;

...
public class Compra extends RealmObject implements Id{@PrimaryKey private Long id; //@LinkingObjects("compras") private Produto produto = null; private Double preco; private String local; private String mercado; private Date data; private Boolean liquidacao = false; private String observacao; private Date dataAlteracao;

...
public List< Produto> buscarProdutoEComprasPorDataAlteracao(Long dataAlteracao) { RealmResults< Produto> results = realm.where(Produto.class) .greaterThan("dataAlteracao", new Date(dataAlteracao)) .greaterThan("compras.dataAlteracao", new Date(dataAlteracao)) .sort("codigoBarras") .findAll(); return realm.copyFromRealm(results); }

答案
//@LinkingObjects("compras") private Produto produto = null;

你可以替换为
@LinkingObjects("compras") private final RealmResults< Produto> isComprasOfProdutos = null;

【在Realm过滤父母和子女 - Android】虽然如果你当前的查询不成功,但不幸的是Realm-java不支持 SUBQUERY 也不 ALL 谓词,以及 https:/github.comrealmrealm-javaissues5730。 从来没有被添加,我想他们也不会添加,所以你必须手动操作。 :(

    推荐阅读