Flutter:使用orderbychild()进行实时数据库查询,并且只有int值可以处理字符串数据而不查询

qxgroojn  于 2023-01-02  发布在  Flutter
关注(0)|答案(1)|浏览(120)

starCountRef.orderByChild('Series').startAt('sam').endAt('1')此代码仅在我使用int值获取数据时有效String值不获取数据

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实时数据库我正试图设置一个搜索框来搜索产品和编辑或删除它们

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

xqk2d5yq

xqk2d5yq1#

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

相关问题