Flutter:使用orderbychild()进行实时数据库查询,并且只有int值工作,字符串数据不查询

ttygqcqt  于 2023-01-18  发布在  Flutter
关注(0)|答案(1)|浏览(94)

starCountRef.orderByChild('Series').startAt('sam').endAt('1')
这段代码只在我使用int值来获取数据时有效;字符串值未提取数据。

DatabaseReference starCountRef =
      FirebaseDatabase.instance.ref('/Shop/qw1234/Inventory/');

bool data = false;

Expanded(
  child: FirebaseAnimatedList(
      query: starCountRef
          .orderByChild('Series')
          .startAt('sam')
          .endAt('1'),
      itemBuilder: (context, snapshot, animation, index) {
        return ListTile(
          onTap: (() {
            print(index);
          }),
          title: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              Row(
                children: [
                  Text('Price: Rs '),
                  Text(
                      snapshot.child('Price').value.toString()),
                ],
              ),
            ],
          ),
          subtitle: Padding(
            padding: const EdgeInsets.only(top: 10, bottom: 10),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Row(
                  children: [
                    Text(
                      'Model: ',
                      style: TextStyle(
                          fontWeight: FontWeight.bold),
                    ),
                    Text(snapshot
                        .child('Series')
                        .value
                        .toString()),
                  ],
                ),

              ],
            ),
          ),
        );
      }),
)

我的firebase实时数据库我试图设置一个搜索框来搜索产品和编辑或删除它们

有谁能帮我吗?我正在为一家商店开发一个库存应用程序。我试图做一个搜索框,这样店主就可以看到他们的库存限制和物品价格。

polhcujo

polhcujo1#

我认为firebase查询是以ASCII顺序工作的。在ASCII顺序中,数字出现在字母之前,所以从“字母字符串”开始到“数字字符串”结束很可能会给你带来问题。
我在您的“系列”示例中没有看到“1”,您不是在尝试引用“库存”节点中的“1”子级,是吗?

相关问题