2012-01-13 6 views
0

検索してもいいリソース/チュートリアルが見つからなかった場合は、がありました。方向ユーザーが再びログオンしたときにダッシュボードで最後にログインしたときから

に私は「新しいコメントが」ユーザがログインされた最後の時間以降に行われたと言うの通知を表示したいのです。この通知は、ダッシュボードの上に、彼らはログイン次回表示されます。

私はどこかで、私はUserテーブルの 'last_action'カラムを作る必要があるかもしれないが、その後はそれほど明確ではなかったと読んでいます。

答えて

2

はい、正確にはlast_action_atと呼ばれるusersテーブルに別の列を追加します。ユーザーが任意のアクティビティを実行すると(ページに移動し、ボタンをクリックするなど)、アクションの時間をそのフィールドに書き込みます。

その後、ログインすると、その値(最後の訪問時の最後の行動の時間)を取得し、この値よりも大きいcreated_atのコメントをすべて選択します。これで、レンダリングに必要なすべてのデータが得られました。notice

+0

ありがとうございました、今日後でこれを実装しようとします! –

+0

これは問題ですが、ユーザーが新しいアクションを実行するとlast_action_atが上書きされ、ユーザーが必要とする通知に戻ることはできません(キャッシュに依存してブラウザが十分スマートでない限り)。 これを修正するには、last_action_at日付を取得してユーザーセッションに入れ、セッション参照期間中はそのセッションフィールドを使用してユーザー通知を計算します。 – Bjorn

関連する問題