gpt4 book ai didi

android - Sugar ORM 无法查询具有 bool 值的列

转载 作者:太空狗 更新时间:2023-10-29 15:50:32 26 4
gpt4 key购买 nike

我正在使用 Sugar ORM 查询应用程序列表。我有一个 bool 列用于标记字段,使用:

@Setter @Getter public boolean isNew = false;

API 调用后,我将更新并保存记录以标记所有新应用,然后为了显示我将使用以下方式查询它:

List<AppsModel> app_list = AppsModel.find(AppsModel.class, "is_new = ?", "true");

问题是它返回 0 个条目,而我这边有 3 个条目。为了检查,我获取了所有列表并一一检查列以检查其值:

List<AppsModel> test = AppsModel.listAll(AppsModel.class);
for(int i=0;i<test.size();i++){
Log.e("Test app size", String.valueOf(test.get(i).isNew()));
}

并且它按预期返回 3 和真值。我可以为列表使用这个循环,但我不想这样做,因为我想尽可能保持我的代码干净。

我是不是漏掉了什么?

最佳答案

好的,我找到了答案 here来自萨提安本人

所以基本上,使用 "true" 会将其匹配为字符串。所以改为使用:

List<AppsModel> app_list = AppsModel.find(AppsModel.class, "is_new = ?", "1");

因为 SQlite 将 bool 值存储为 0 和 1。

关于android - Sugar ORM 无法查询具有 bool 值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com