0

クエリに使用されるコード (以下) は、正しく機能する前から変更されていませんが、ページは突然、多くの過去のイベントの 1 つだけを表示し始めました。QL の機能が何らかの形で変更されたのでしょうか、それともこれはただのバグなのでしょうか?

SELECT name, pic, start_time, end_time, location, description, eid 
FROM event 
WHERE end_time < now() 
AND eid IN ( 
    SELECT eid 
    FROM event_member 
    WHERE uid = XXXXXXXXX ) 
ORDER BY start_time DESC
4

1 に答える 1

0

よくわかりませんが、event_member に関する FQL のドキュメントが鍵になるかもしれません。SELECT eid FROM event_member WHERE uid = XXXXXXXXXラッパーを使用せずに内部クエリ ( ) のみを実行して、返される内容を確認しましたか?

event_member の FQL ドキュメントには、

start_time を指定しない場合、将来のイベントのみが返されます。

編集:これは、現在、start_time < now()そこに指定する必要があるか、またはそのようなものを指定する必要があることを意味します。

end_time < now()(ただし、そうであれば、あなたの声明と矛盾するため、なぜ1つのアイテムが返されているのかわかりません).

私の最初の提案は、FQL マルチクエリを使用して複数のクエリに吐き出し、event_member クエリが期待どおりに返されることを確認することです。何かのようなもの:

"event_members":"SELECT eid 
FROM event_member 
WHERE uid = XXXXXXXXX"

"events":"SELECT name, pic, start_time, end_time, location, description, eid 
FROM event 
WHERE end_time < now() 
AND eid IN (SELECT eid FROM #event_members) 
ORDER BY start_time DESC"

event_members が希望するすべてのエントリを保持していることを確認します。そうであれば、'events' クエリで問題を見つけてください。そうでない場合は、'event_members' クエリで問題を見つけてください。

于 2012-05-20T18:42:38.533 に答える