Flutter 使用变量值时不显示查询的Flatter Firestore

Flutter 使用变量值时不显示查询的Flatter Firestore,flutter,google-cloud-firestore,Flutter,Google Cloud Firestore,在Flatter Firestore中,使用变量时,其中查询不显示值 Firestore.instance.collection('Schedules') .where('from', isEqualTo: widget.from) .where('to', isEqualTo: widget.to) .snapshots(); 当我试图用指定的值调用它时,它会显示项目 .where('from', isEqualTo: "Ethiop

在Flatter Firestore中,使用变量时,
其中
查询不显示值

Firestore.instance.collection('Schedules')
        .where('from', isEqualTo: widget.from)
        .where('to', isEqualTo: widget.to)
        .snapshots();
当我试图用指定的值调用它时,它会显示项目

.where('from', isEqualTo: "Ethiopia")


如何解决此问题?

以社区维基的形式发布,基于评论

这里的问题是在您试图比较值的变量中-
widget.to
widget.from
-作为
where
子句。您需要在查询的
where
部分更改传递此变量的方式,以便确定值是否正确传递,就像现在一样,这就是问题所在


我建议您更改检查值的方式,以便确认变量在所需上下文中具有值。

听起来像
小部件。from
小部件。to
没有您期望的值。您可能希望在查询上放置断点,在调试器中运行,然后检查值。我在文本小部件中使用了它,它有一个值。。。如果有帮助的话,我会在流生成器中使用它。如果看不到这些变量的值,以及它们如何匹配数据库中的文档,我们就没有什么可以帮助的了。考虑硬编码您的过滤器值,然后再试一次。如果它没有按您期望的方式工作,则显示新代码并解释结果如何不匹配。最初有一个变量
from
to
。这些将存储用户输入的数据。因此,当我在其他类中调用这个变量时,我使用了
widget.from
&
widget.to
,还有一个数据库字段
from
&
to
。这就是为什么我在代码中使用
where('from',isEqualTo:widget.from)
。上面是我的数据库结构,我使用了
widget.to
&
widget.from
在文本小部件中显示值,它可以工作。但当我尝试在where查询中使用它时,它不会显示任何内容。然而,这些是不同的事情。您是否尝试过使用不同的变量,在执行查询时确认了变量的上下文,等等?您能给我举个例子吗?我的应用程序做了一个下拉表单,用户从中选择并将这些数据传递到下一个页面(这是firestore页面)。那么我该怎么做呢?Hi@MoBix它可以是任何简单的测试,比如
var from=widget。from
,只是为了执行不同的查询方式,例如,您还可以尝试将
=
isEqualTo更改为
=
。请记住,SO不是为您提供解决方案或代码,而是帮助您实现解决方案,因此,社区不一定会为您提供解决问题的代码。我尝试将这些变量传递给另一个变量。它仍然无法识别
var from=widget.from
中的
widget
。我甚至尝试将它与
initState
一起使用。