Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正确的做法‘;成为朋友’;没有‘的活动;加倍’;向上[获取流]_Php_Laravel 5_Getstream Io - Fatal编程技术网

Php 正确的做法‘;成为朋友’;没有‘的活动;加倍’;向上[获取流]

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的朋友,如果当

使用Laravel和getStream

当前结构:

用户在其仪表板上有一个提要,它是
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 ...";