gpt4 book ai didi

安卓 : Get objects from multiple Relations

转载 作者:行者123 更新时间:2023-11-30 03:16:11 25 4
gpt4 key购买 nike

比如说,我有一个食品类,其中我有 3 个关系 - 'Lovers'、'Eaters'、'Makers'。我将用户添加到这些关系中的每一个。

现在我想针对特定食物显示一个列表,该列表首先显示所有“Lovers”,然后是“Makers”,最后是所有“Eaters” - 按此顺序。

因此,为了仅检索 Lovers,我必须对 Lovers 执行 ParseQuery,然后执行 find(),我从中将用户列表存储在 ArrayList 中。然后,我再次对 Makers 和 Eaters 重复相同的过程,并将结果附加到我的 ArrayList。

此过程缓慢、乏味且耗费资源。有没有更好的方法?

编辑

食物类(ParseObject)如下

  • 恋人 - 关系<_User>
  • 食者 - 关系<_User>
  • 创客 - 关系<_用户>
  • --- 以及其他变量,如美食、国家等---

用户类(ParseUser)如下##

  • 姓名
  • 年龄

每一种食物都与喜欢食物的用户建立“恋人”关系,“食者”和“制作者”也是如此

为了获得“食物”对象的 Lovers、Makers 和 Eaters,我使用以下查询

ArrayList<User> userList = new ArrayList<User>();

ParseRelation<ParseObject> relation = food.getRelation("Lovers");
ArrayList<User> lovers =relation.getQuery().find();

ParseRelation<ParseObject> relation = food.getRelation("Makers");
ArrayList<User> makers =relation.getQuery().find();

ParseRelation<ParseObject> relation = food.getRelation("Eaters");
ArrayList<User> eaters =relation.getQuery().find();

userList.add(lovers);
userList.add(makers);
userList.add(eaters);

不幸的是,Parse 在关系查询中不支持“include”,我不想使用 Array 来存储关系(因为将来我可能需要找到用户喜欢、吃和做的东西)。那么,有没有一种解决方案可以在单个查询中获取这 3 个关系数据。

最佳答案

一个选择是创建一个类作为您的连接表,就像在 Parse 上提供的一些示例中所做的那样。

UserFood:
User: link to User class
Food: link to Food class
MakesIt: bool
LovesIt: bool
EatsIt: bool

获取食物的所有用户成为一个简单的查询,获取用户的所有食物变得简单。如果您只想要“恋人”列表,您可以过滤“LovesIt”= true。

它还可以轻松地执行查询,例如:找到我所有的食物,其中制作它的人也吃它。

关于安卓 : Get objects from multiple Relations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20074163/

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