1

ブロック関数を作成しようとしましたが、うまくいきませんでした。この場合、私の SQL スキルは期待したほど良くありません。

「メッセージ」と呼ばれる 1 つのテーブルと「ブロック」と呼ばれる 1 つのテーブルがあります。今、チャットにすべてを同期する 1 つのファイルがあります。私がしようとしているのは、ユーザー 1 がユーザー 2 をブロックした場合、ユーザー 1 のメッセージがユーザー 2 に届かないようにすることです。また、ユーザー 2 のメッセージはユーザー 1 には届かないはずです。短期的には、誰かをブロックすると、あなたはその人と話すことができず、その人もあなたと話すことができなくなります。

"blocks" table:
id bigint(20)
user_id tinyint(20)
block_id tinyint(20)

"messages" table:
id bigint(20)
timestamp datetime
dest_type varchar(255)
dest_id bigint(20)
source_type varchar(255)
source_id bigint(20)
message_type varchar(255)
message text

"blocks" の user_id は、ブロック行の所有者 ID です。block_id は所有者がブロックしたい ID です。IF "messages.source_id = blocks.block_id OR messages.block_id = blocks.user_id" THAN は、メッセージを通過させないでください。誰かにコードを書いてもらうのは失礼だとは思いますが、誰か試してもらえませんか?

sync.php ファイルは次のとおりです: http://pastebin.com/8iiSCXGS

本当にありがとう!

4

1 に答える 1