Php 正确的做法‘;成为朋友’;没有‘的活动;加倍’;向上[获取流]
使用Laravel和getStream 当前结构: 用户在其仪表板上有一个提要,它是Php 正确的做法‘;成为朋友’;没有‘的活动;加倍’;向上[获取流],php,laravel-5,getstream-io,Php,Laravel 5,Getstream Io,使用Laravel和getStream 当前结构: 用户在其仪表板上有一个提要,它是FeedManager::getNewsFeeds($request->User()->id)['timeline']的合并&&FeedManager::getUserFeed($request->user()->id) 这很好,但是当我们尝试做“成为朋友”的活动时,会出现活动的“双重提升” 如果乔跟着简,他会明白的 简现在和乔成了朋友 乔现在和简成了朋友 理想情况下:我们只需要Joe现在是Jane的朋友,如果当
FeedManager::getNewsFeeds($request->User()->id)['timeline']的合并代码>&&FeedManager::getUserFeed($request->user()->id)代码>
这很好,但是当我们尝试做“成为朋友”的活动时,会出现活动的“双重提升”
如果乔跟着简,他会明白的
简现在和乔成了朋友
乔现在和简成了朋友
理想情况下:我们只需要Joe现在是Jane的朋友
,如果当前用户是Joe,则将其调整为您现在是Jane的朋友
同样的情况也会发生,如果乔跟随山姆和彼得,然后他们成为朋友
乔的饲料:
山姆现在和彼得成了朋友
彼得现在和萨姆成了朋友
理想情况下:山姆和彼得现在是朋友了(顺序并不重要)
使用getStream进行此类跟踪(或过滤)的最佳方法是什么
(它们是引用两个用户的单个活动吗?由于您分别提取每个提要,并且由于我们不了解您的参与者/动词/对象的含义,因此流不可能消除重复或重命名这些事件,因为您已经将它们合并在一起了。您可能已经向我们发送了“Joe”的唯一id,因此您需要进行逻辑检查,以显示类似(伪代码):
我们不允许在获取提要的活动时过滤活动数据。我们的过滤规则更多地是关于分页的。因为您单独拉取每个提要,而且因为我们不了解您的参与者/动词/对象的含义,所以流不可能消除重复或重命名这些事件,因为您已经将它们合并在一起了。您可能已经向我们发送了“Joe”的唯一id,因此您需要进行逻辑检查,以显示类似(伪代码):
我们不允许在获取提要的活动时过滤活动数据。我们的过滤规则更多地是关于分页的
$bits = $activity->actor.split(":");
$activity_user = get_user_details($bits[1]);
$actor_is = $activity_user->name . " is";
if ($user->id == $activity_user->id) {
$actor_is = "You are";
}
$output = $actor_is . " now following ...";