2010-03-28 34 views
13

Tôi muốn có thể có thông báo trên trang web của mình, tương tự như cách SO thực hiện. Tôi đã tìm kiếm một cấu trúc bảng tốt để làm điều này, nhưng tôi không thể hình dung nó ra.Tìm kiếm cấu trúc cơ sở dữ liệu tốt để đạt được Facebook/SO như thông báo

Tôi đã suy nghĩ điều gì đó như thế này.

Notifications

id, notification_type_id, user_id, type_id

Notification loại

id, notification_text

Trường hợp loại thông báo sẽ liên quan đến một trong hai a new post, bình luận mới, hoặc bất kỳ tính năng nào tôi thêm sau đó xuống dòng ... Id người dùng sẽ liên quan đến bất kỳ ai thông báo tion là dành cho. Type_id và loại thông báo sẽ đi đôi với nhau, vì vậy nếu notification_type là nhận xét mới, type_id sẽ là comment_id để truy cập.

Điều này có vẻ tốt với tôi, nhưng tôi muốn có thể thông báo cho TẤT CẢ người dùng khi có gì đó thay đổi .. như trên facebook khi bạn bình luận về điều gì đó, bạn nhận được thông báo rằng ai đó cũng đã nhận xét về điều tương tự sau bạn .

I cant dường như con số này ra ... Help muốn

Cảm ơn

EDIT: Con đường tôi nghĩ về nó là, các notification_type_id sẽ lập bản đồ vào bảng NOTIFICATION_TYPE, mà sẽ giữ văn bản cho mỗi thông báo ("Bạn có nhận xét mới", "blah blah blah cũng đã nhận xét về blah blah blah", v.v.), type_id sẽ ánh xạ tới primary_id của bất kỳ nhận xét nào. ví dụ: nếu thông báo cho biết bạn có nhận xét mới về bài đăng của mình thì type_id sẽ là id chính của bài đăng để dễ dàng liên kết .. IDK, đó chỉ là một ý nghĩ.

+0

Bạn đang nói về thông báo email hoặc thông báo popoup? Vấn đề của bạn là bạn không biết cách kiểm tra ai sẽ được thông báo hoặc bạn không biết điều kiện nào để đọc từ cơ sở dữ liệu? – arnorhs

Trả lời

0

Bạn có thể chi tiết hơn một chút về từng cột, vì văn bản của bạn không chính xác, vì bạn đề cập đến "loại thông báo" và đó không phải là một cột trong ví dụ của bạn. Cột nào trỏ đến id trong các loại thông báo bảng: notification_type_id hoặc type_id?

+0

Tôi có thể thiếu một cái gì đó, nhưng thông báo cho tất cả người dùng dường như không khó đạt được: bạn chỉ cần tham gia bảng thông báo và bảng nơi bạn lưu trữ người dùng và bạn sẽ thiết lập nó. Bạn thậm chí có thể lọc trên người dùng, vì vậy không phải ai cũng nhận được thông báo. Bạn có thể lưu trữ các hàng kết quả trong một bảng khác nhau, nơi bạn sẽ có user_id và notification_id. Đây có phải là những gì bạn đang tìm kiếm không? – JorgeLarre

+0

Các thông báo không được gửi qua tôi .... chúng là thông báo sự kiện được phổ biến mỗi lần một sự kiện thích hợp với người dùng xảy ra ... Giống như, nếu ai đó trả lời câu hỏi của bạn về SO hoặc nhận xét về câu trả lời của bạn .. .hai thông báo khác nhau. Ngoài ra, thậm chí khó hơn là gửi thông báo đến tất cả những người đã trả lời một câu hỏi rằng một câu trả lời mới đã được đăng bởi người khác. – BDuelz

Các vấn đề liên quan