gpt4 book ai didi

Facebook——使用 event 和 event_member 执行 FQL "join"的最佳方式?

转载 作者:行者123 更新时间:2023-11-30 05:16:04 26 4
gpt4 key购买 nike

在 Facebook 应用程序中,我需要获取某个日期范围内的用户事件以及每个事件的 rsvp 状态。

我可以很好地获取用户的事件,但目前我正在一次一个地查找每个事件的 rsvp 状态,并且对于有大量事件的人,该应用程序超时。

我以这种方式获取用户的事件:

$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 状态,一次一个:

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

这在逐个事件的基础上也能很好地工作,但是当用户有很多事件时应用程序页面会超时,因为每次都必须查找每个事件。

使用普通的 SQL,我可以通过连接轻松地做到这一点,但 FQL 中不允许连接。

一个可能的解决方案是通过遍历每个 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_possibilities 的数量(我认为是三个),但理想情况下我宁愿在一次 FQL 调用中完成。

最佳答案

没有办法进行连接,但是您可以使用 FQL.Multiquery将您的 4 个查询批处理到一个调用中。 4 possible event responses 的 4 个查询各有 1 个:参加、不确定、拒绝和未回复。

关于Facebook——使用 event 和 event_member 执行 FQL "join"的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com