2013-01-23 29 views
7

Tôi đang tạo một ứng dụng xã hội như Facebook bằng cách sử dụng Yii FrameworkMySQL. Nó có một nút thông báo ở trên cùng tương tự như Facebook. Khi ai đó đăng bài trong một nhóm hoặc một người nào đó từ danh sách bạn bè của bạn sẽ tham gia bất kỳ sự kiện nào hoặc nếu ai đó gửi cho bạn yêu cầu thêm thì tôi nên quản lý các thông báo này trong cơ sở dữ liệu như thế nào?Làm thế nào để tạo một cấu trúc bảng thông báo như Facebook?

Giống như: Tôi đã tham gia nhóm "A". Người nào đó từ nhóm "A" sẽ đăng trong nhóm thì thông báo sẽ được gửi tới từng người dùng của nhóm. Làm thế nào tôi có thể quản lý bảng thông báo trong trường hợp này?

Tôi đang lên kế hoạch để có một cấu trúc bảng như đưa ra dưới đây:

user_id | Type_of_notification | notication_text | sender_id | Created_time |

Cách tiếp cận của tôi có đúng không?

Trả lời

11

Bạn đang xây dựng một luồng hoạt động hiệu quả trong MySQL. Có một câu trả lời xuất sắc tại How to implement the activity stream in a social network. Tôi đã sử dụng nó bản thân mình trong một ứng dụng nhỏ hơn, nhưng các ý kiến ​​trong đó cho thấy rằng nó dễ dàng quy mô lên đến một vài triệu hàng quá.

+0

https://developers.facebook.com/docs/technical-guides/fql/. Kể từ ngày 8 tháng 8 năm 2016, FQL sẽ không còn khả dụng nữa và không thể truy vấn được. Để di chuyển ứng dụng của bạn, hãy sử dụng Công cụ nâng cấp API để xem các cuộc gọi API đồ thị mà bạn có thể thực hiện thay thế. Tìm hiểu thêm về di chuyển API v2.1. Liên kết – Amit

7

Bạn có thể xem cấu trúc bảng 'thông báo' của facebook cho fql có thể cung cấp cho bạn ý tưởng tốt hơn về bảng của bạn.

Đây có thể là một số cột của bạn:

id, sender_id,type_of_notification, title_html, body_html, href , 
recipient_id, is_unread, is_hidden, created_time 

Xem bảng thông báo trong fql technical-guides

+0

bị hỏng ngay bây giờ, –

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