我有很好的5-7桌。然后我有一个单独的表,每个表内容都有post_id
。现在,我想要一个类似于Facebook的用户提要。那么我如何加入Feed表,让我们说照片,文章,视频。
结构:
来自所有其他唯一表的// content_id = post_id
User Feed Table:
id
content_id
user_id
link
Posts:
id
post_id
post_content
tags
user_id
links:
id
post_id
link_content
tags
user_id
link_comments:
id
post_comment_id
post_id
tags
user_id
答案 0 :(得分:1)
您必须使用MYSQL JOIN语句。 http://dev.mysql.com/doc/refman/5.1/en/join.html
答案 1 :(得分:1)
你可以使用join,或者你可以说content_id = post_id ...你指定多个表的方式,如果你不知道,就像这样....
从Feed f中选择f。*,发布p,链接l,内容c,其中f.content_id = l.post_id等等。
答案 2 :(得分:1)
我建议在“类型”的Feed表中添加一个额外的字段。这将是内容的类型。每当有人添加新帖子,然后将记录插入到feed表中,并将content_id设置为帖子的id,并且type = 1(1可能意味着发布)。然后你将构建一个这样的查询:
// get all records from feed
// then foreach record
// $type_id = feed->type
// then do a switch statement
switch($type_id){
case 1:
$type="articles";
break;
case 2:
$type="videos";
}
// then do another query joining the feed to the content
SELECT * FROM '$type'
JOIN feed ON '$type'.id = feed.content_id
WHERE '$type'.id = feed->content_id
//execute query and add to an array of feed items
//endforeach
我很抱歉我的语法错了,这更像是解决问题的答案......