0
CREATE TABLE `social_activity_stream` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`social_actor_id` int(11) NOT NULL,
`social_activity_id` bigint(20) NOT NULL,
`social_activity_type_id` int(11) NOT NULL,
`social_share_policy_id` int(11) DEFAULT NULL,
`social_user_friend_id` bigint(20) DEFAULT NULL,
`date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`date_read` datetime DEFAULT NULL,
PRIMARY KEY (`id`))
每一個社會角色建立一種社會活動,與分享政策公有,私有,朋友 比方說,有3個角色: A,B,C 他們是朋友SQL查詢來讀取用戶的流
由A和朋友(策略)共享一個活動將在表中創建3行:
- 一項所述的[A,A TEXT POST,朋友,NULL]
- 一個用於B [B,A TEXT POST,FRIENDS,A-> B]
- 一個用於C [C,A TEXT POST,朋友,A-> C]
B想要瀏覽的活動流: 這裏是僞查詢:
- 得到公衆ACTVITIES由A」流
- GET通過A'stream PRIVATE活動與FriendId = A-> B
- 得到朋友活動由A'stream但只有當該活動在B的流存在 (否則它可能是一個朋友d A誰是不是 B)的朋友
任何想法,這可以在一個單一的查詢?