我正在尝试获取过去喜欢任何用户状态的朋友列表。我有一个下面的多个查询将执行此操作,但结果不按帖子分组。所以,我得到了所有喜欢这些帖子的朋友的列表,但我不知道哪些朋友喜欢哪些帖子。我知道我可以为每个状态单独调用,但如果可能的话,我想在一个调用中执行此操作。有什么想法吗?
$queries = '{
"statuses":"SELECT status_id FROM status WHERE uid=me()",
"likes":"SELECT user_id FROM like where object_id IN ( SELECT status_id FROM #statuses )",
"liker":"SELECT name, pic_small FROM user WHERE uid IN (SELECT user_id FROM #likes)"
}';
$param = array(
'method' => 'fql.multiquery',
'queries' => $queries,
'callback' => '');
$queryresults = $facebook->api($param);
答案 0 :(得分:0)
我以为你可以做到:
$queries = '{
"statuses":"SELECT status_id FROM status WHERE uid=me()",
"likes":"SELECT user_id, object_id FROM like where object_id IN ( SELECT status_id FROM #statuses )",
"liker":"SELECT name, pic_small, uid FROM user WHERE uid IN (SELECT user_id FROM #likes)"
}';
然后,在您的最后,您将拥有将每个status_id
映射到name
数组所需的所有信息。它不像执行SQL JOIN那样干净或微不足道,但由于这不是一个选项,如果你想在一个FQL调用中获取所有数据,这是最好的。