Cha*_*les 3 php parse-platform
我将用户"喜欢"保存为与Post对象的关系,就像在文档中一样.
$user = ParseUser::getCurrentUser();
$post= new ParseObject("Post", $the_post_id);
$relation = $user->getRelation("likes");
$relation->add($post);
$user->save();
Run Code Online (Sandbox Code Playgroud)
这到目前为止工作正常.
现在我想知道如何查询帖子,并且还要计算每个帖子喜欢的用户数量.我不想在每个Post的循环中运行单独的查询.
我还想知道CurrentUser是否也喜欢查询中的每个帖子.同样,绝对希望避免在循环中进行多个查询.
这可能吗?
我当前的帖子查询:
$query = new ParseQuery("Post");
$posts = $query->find();
Run Code Online (Sandbox Code Playgroud)
[...]拉出一个用户喜欢每个帖子的数量[...]
在Post类中创建一个like counter字段,并在每次以"likes"关系添加/删除Post时更新它.你会在不止一个地方找到这个建议(例如,这里和这里).
使用Parse的增量方法(带正值或负值)以原子方式更新计数器.
[...]知道CurrentUser是否喜欢每个帖子[...]
没有多个查询,这很难.您知道很容易获得用户喜欢的帖子:
$postsLiked = $relation->getQuery()->find();
Run Code Online (Sandbox Code Playgroud)
您还可以设法获取与用户没有 "喜欢"关系的帖子.您可能会尝试使用此类信息,但您必须接受脚本中简化性的降低,以及可能的不准确程度(请记住,使用单个Parse查询无法检索超过1000个结果).您可能会发现最好只在单个帖子视图中将信息显示为详细信息(也可以根据与单个帖子条目相关的输入事件或根据视口内条目的当前可见性,通过AJAX动态获取信息).