新着、更新通知の作り方
投稿者 (削除されました)  ()
投稿日時
2023/2/14 13:37:30
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2023/2/14 13:40:28
> レコード新規登録後に見たか、更新後見たかを
それを見るのは誰ですか?
「ログインユーザーが、自身宛の未読通知を見たい」という意図なのか
「通知を出した上司が、まだ読んでいない部下を確認したい」という意図なのかで
データベース設計も変わってきます。
前者(ユーザー本人が、自身宛の未読を管理したいと意図)であれば、こんな感じでどうでしょう。
①それぞれの通知には、「最終更新日時」を記録しておく。
②各ユーザーは、「前回の通知確認日時」を記録しておく。
③ユーザーはログイン時に、2の日付以降に生成された①のレコードIDを、未読テーブルに INSERT する
④未読テーブルを更新後、2の通知確認日時を更新する。
⑤既読後は、未読テーブルからそのレコードID を DELETE する。
通知データには、「全ユーザー向け」「特定のユーザー向け」の情報があると思います。
また、通知の有効期限といったものもあるでしょうが、これらの管理をどうするかで
手順3のロジックが変わってきます。
この方法を採る場合、一度作成した通知に対して、対象者情報や通知期限を修正する場合は、
通知を削除あるいは無効化してから、新しい通知を再発行する形にする必要があるでしょう。
それを見るのは誰ですか?
「ログインユーザーが、自身宛の未読通知を見たい」という意図なのか
「通知を出した上司が、まだ読んでいない部下を確認したい」という意図なのかで
データベース設計も変わってきます。
前者(ユーザー本人が、自身宛の未読を管理したいと意図)であれば、こんな感じでどうでしょう。
①それぞれの通知には、「最終更新日時」を記録しておく。
②各ユーザーは、「前回の通知確認日時」を記録しておく。
③ユーザーはログイン時に、2の日付以降に生成された①のレコードIDを、未読テーブルに INSERT する
④未読テーブルを更新後、2の通知確認日時を更新する。
⑤既読後は、未読テーブルからそのレコードID を DELETE する。
通知データには、「全ユーザー向け」「特定のユーザー向け」の情報があると思います。
また、通知の有効期限といったものもあるでしょうが、これらの管理をどうするかで
手順3のロジックが変わってきます。
この方法を採る場合、一度作成した通知に対して、対象者情報や通知期限を修正する場合は、
通知を削除あるいは無効化してから、新しい通知を再発行する形にする必要があるでしょう。
投稿者 (削除されました)  ()
投稿日時
2023/2/14 19:53:08
(削除されました)
投稿者 Tさん  (社会人)
投稿日時
2023/2/14 20:04:46
魔界の仮面弁士さん ありがとうございます。
後者も実装をしたいと思っておりましたが、
今回は前者のつもりで質問させてい頂きました。
言葉足らず申し訳ありません。
ご提案頂いた方法試してみます!
後者も実装をしたいと思っておりましたが、
今回は前者のつもりで質問させてい頂きました。
言葉足らず申し訳ありません。
ご提案頂いた方法試してみます!
データベースを活用しユーザーごとに
レコード新規登録後に見たか、更新後見たかを
「新着**件」のように表示したいと考えています。
この場合どういう設計方法があるのでしょうか?
ユーザーIDとレコードIDを観覧データベースに
保存する方法しか思いつかないのですが、
この方法だと、ユーザーが、増えるに連れて
観覧データベースがどんどん大きくなってしまうことが懸念されます。
ネットで色々検索きましたが見付からずご意見頂きたいです。
ちなみにアプリ開発は超初心者です。