我有一个名为ingredients
的Parse对象和一个名为whereKey:containsAllObjectsInArray:
的列,它是一个数组。我想查询我的对象列表并根据我选择的一些成分检索配方。
如果我在查询对象上使用whereKey:containedIn:
消息,我将获得更多成分的食谱。此外,$getfield = '?screen_name='.$sc_name.'&exclude_replies=true&include_rts=true&contributor_details=false&page=1';
无法解决我的问题。检索到的对象应该包含一系列成分,其中包含我所选择的所有成分或仅包含其中一些成分。它应该永远不会有比我选择的更多的成分。
有什么想法吗?
答案 0 :(得分:1)
您可以对whereKey:notContainedIn:
的所有剩余部分(此用户不所拥有的成分)执行ingredients
。而且用户只能得到ingredients
。
答案 1 :(得分:1)
您可以在食谱表中添加一个额外的列"数组计数"对于配方中的成分数量。然后做一个多重查询:
[query whereKey:ingredients containsAllObjectsInArray:ingredientsArray];
[query whereKey: arrayCount equalTo:[ingredientsArray count]];
这样你只会返回具有相同数量的成分和你列出的所有成分的东西。