ObjectBox动态查询

问题描述 投票:0回答:3

例如最终用户从五个可能的过滤器中选择两个,最后三个过滤器保留为“全部”。

我不需要为 5 个过滤器的每种可能组合创建查询(总共 25 个不同的查询),处理这个问题最有效的语法是什么?

我应该使用 .and 将查询链接在一起,然后我可以为不需要的查询指定“all”吗?

flutter objectbox
3个回答
0
投票

A 查询构建器可用于根据所选过滤器构建查询。也就是说,仅使用内部

if
条件检查过滤器来添加查询条件。


0
投票

我按如下方式解决了这个问题。使用三元运算符 ?: 并在第二个条件中使用 .notNull() 查询值之一 这给出了“all”的结果,有效地忽略了查询的这一部分。

这是一个 hack,但它确实有效。这显然是一个昂贵的解决方案,因为理想的情况是完全跳过不需要的过滤器。

开发人员注意:'if' 不能在 dart 的查询结构中使用。感谢您抽出时间回复,希望我的附加信息有帮助。


0
投票

从 ObjectBox 读取所有记录,然后在 Dart 中过滤结果(使用合理大小的集合)似乎更有意义。

使用 Dart 应用过滤器

© www.soinside.com 2019 - 2024. All rights reserved.