我正在尝试从照片表中获取照片,但只是用户喜欢的照片。
照片表中有一个名为like_info的字段,它返回一个包含3个字段的对象,其中一个是user_likes:表示当前会话用户是否喜欢这张照片(我需要的全部内容)。 https://developers.facebook.com/docs/reference/fql/photo/
我可以检索此信息(like_info-> user_likes),但我无法在查询中使用它。我试过了
SELECT pid, owner, src, like_info FROM photo WHERE pid IN (433368913233690121,433368913233456540) AND like_info.user_likes=1
这给了我一个错误“user_likes不是like_info标量的成员”。
我知道如果like_info是一个数组,这会有效,但我想知道在这种情况下如何做一个对象。
由于
答案 0 :(得分:2)
首先我想到的是嵌套来自like
和photo
表的查询:
SELECT pid, owner, src, like_info FROM photo WHERE pid IN (
SELECT object_id FROM like WHERE user_id=me() AND object_type="photo"
)
不幸的是,我发现了一个错误(FQL results from like
table have wrong object_type
),上面的查询无用(让我们希望这会很快得到解决)。
幸运的是,有另一种方法可以与另一种(更复杂的)查询实现相同的结果:
SELECT pid, owner, src, like_info FROM photo WHERE object_id IN (
SELECT id FROM object_url WHERE id IN (
SELECT object_id FROM like WHERE user_id=me()
) AND type='photo'
)
答案 1 :(得分:0)
之类的表可能会更好运。
SELECT object_id FROM like WHERE user_id=me() AND object_type="photo"