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)的朋友
任何想法,这可以在一个单一的查询?