Facebook - fqlを実行するための最良の方法は、イベントとevent_memberに参加しますか?

StackOverflow https://stackoverflow.com/questions/1045842

  •  20-08-2019
  •  | 
  •  

質問

Facebookアプリでは、各イベントの日付範囲と彼のRSVPステータスのユーザーのイベントを取得する必要があります。

ユーザーのイベントをうまく入手できますが、現時点では各イベントのRSVPステータスを一度に1つずつ調べており、アプリは多数のイベントを持つ人々のタイミングを出しています。

私はこのようにユーザーのイベントを取得しています:

$fql = "SELECT eid, name, start_time, end_time 
        FROM event 
        WHERE eid IN (SELECT eid 
                      FROM event_member 
                      WHERE uid = $user) 
          AND start_time > '$timestamp' 
        ORDER BY start_time";

この部分は正常に動作しています。

そして、これが私が各イベントのRSVPステータスを一度に1つずつ取得する方法です:

$fql = "SELECT rsvp_status 
        FROM event_member 
        WHERE uid = $user
          AND eid = '$event_id'";

これはイベントごとに正常に動作しますが、各イベントが毎回検索する必要があるため、ユーザーが多くのイベントを持っているときにアプリページが出ます。

通常のSQLを使用すると、Joinで簡単にこれを行うことができますが、FQLでは参加は許可されていません。

考えられる解決策の1つは、このような各rsvp_statusの可能性をループすることにより、それらをバッチで行うことです。

$fql = "SELECT eid, name, start_time, end_time 
        FROM event 
        WHERE eid IN (SELECT eid 
           FROM event_member 
           WHERE uid = $user 
           and rsvp_status = 'attending') 
        AND start_time > '$timestamp' 
        ORDER BY start_time";

これにより、FQLコールの数がRSVP_Possibilityの数(3つ)まで減少しますが、理想的には、1つのFQLコールでそれを行いたいと思います。

役に立ちましたか?

解決

参加する方法はありませんが、使用できます fql.multiquery 4つのクエリを1回の呼び出しにバッチします。 4つのクエリはそれぞれ1つになります 4つの可能なイベント応答: :出席、不確か、拒否、およびnot_replied。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top