Facebookのような通知システムを作りたかったのですが、どうやってそれを実現するか、方法が思い浮かびません。
私はここで、テーブルを 1 つ持つなどのさまざまな意見について読みましたが、他の人は 2 つあると言っています。
ただし、必要なデータエントリのみを使用して最も効率的な方法を試しています。これはnotfication
これまでの私のテーブルです: id、uid、type、read (boolean)、date。
だから私は一つの例を考えました:
コメントを挿入し、uid (user_id)、タイプ (コメント、いいねなど)、read='1'、NOW() を挿入する通知関数を呼び出します。
何かを投稿しているときに通知を受け取りたくないので、 read を 1 に設定します。notification
次に、他のすべてのユーザーがこの新しい投稿をまだ読んでいないため、read を 0 に設定して更新しようと考えました。
でも今は5秒後くらいに別の投稿とか考えてます。次に、他のすべてのread
エントリが再び 0 に設定されますが、これは正しいことですが、このシナリオでは、個々のユーザーごとに正しい結果を表示 (SELECT) することは考えられません。どのユーザーがどの新しい通知を見逃したかが特定されていないためです。
あなたが私をフォローして、何か提案をしてくれることを願っています。一般的に間違った方法で行っている場合は、アドバイスもいただければ幸いです。