例如,最终用户从五个可能的过滤器中的两个进行选择,最后三个过滤器被保留为‘all’。
不是我为5个过滤器的每一个可能的组合(总共25个不同的查询)创建查询,最有效的语法是什么?
我是否应该使用.and将查询链接在一起,然后是否可以为不需要的查询指定“all”?
发布于 2022-07-08 14:38:50
可以使用查询生成器根据所选筛选器构建查询。也就是说,仅在if条件中添加查询条件,以检查过滤器。
发布于 2022-07-19 09:36:46
我解决了这个问题如下。使用三元操作符?:在第二个条件查询中,使用.notNull()查询一个值,这将给出'all‘的结果,从而有效地忽略了查询的这一部分。
这是一次黑客攻击,但有效。这显然是一个昂贵的解决方案,因为理想的是跳过不必要的过滤器完全。
开发人员注意:“if”不能在dart查询结构中使用。谢谢你抽出时间回复,希望我的额外信息能有所帮助。
https://stackoverflow.com/questions/72893022
复制相似问题