2016-11-16 4 views
0

LaravelとgetStreamを使用する。[getStream]で「倍増」せずに「友達になった」アクティビティを行う正しい方法

現在の構造:

ユーザーは、これは私たちがやろうとしているときに活動の罰金しかし、「ダブルアップ」は発生作品FeedManager::getNewsFeeds($request->user()->id)['timeline’]; & & FeedManager::getUserFeed($request->user()->id);

のマージである自分のダッシュボード上のフィードを持っていますaは友人の活動になった。

ジョーはジェーンが続く場合、彼は理想的

Jane is now friends with Joe

Joe is now friends with Jane

が表示されます:私たちはちょうどJoe is now friends with Janeを持っていると思いますし、現在のユーザーであれば、ジョーも同じYou are now friends with Jane

に調整ジョーがサムとピーターを追うと、彼らは友達になる。

ジョーのフィード:理想的には

Sam is now friends with Peter

Peter is now friends with Sam

:私たちは、この種の操作を行うための最善の方法は何Sam and Peter are now friends(順序は本当に重要ではありません)

を取得したいですgetStreamを使ったトラッキング(またはフィルタリング)?

(その両方のユーザーへの参照その特異な活動である?)

答えて

2

あなたが個別に各フィードを引っ張っているので、私たちは何をお使いの俳優/動詞/オブジェクト手段の理解を持っていないので、既にそれらを一緒にマージしているので、これらのイベントの重複または名前を変更することはできません。あなたは(擬似コード)のような何かを言うためにあなたの側のロジックチェックを必要があると思いますので、あなたはおそらく、すでに「ジョー」のため私たちのユニークな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 ..."; 

私たちは、フィルタリングを許可していません。フィードのアクティビティを取得するときのアクティビティデータ私たちのフィルタリングルールは、ページネーションに関するものです。

関連する問題