在一个页面上获得多个数据库表输出的最佳解决方案:PHP5(Kohana),MySQL


Best solution to get an output of multiple db tables on a page: PHP5(Kohana), MySQL

我正在PHP5(Kohana3)+MySQL上从头开始构建社交网络,需要找到最佳解决方案,在一行类似facebook的行中打印用户消息以及评论、消息参考、新闻和其他类似内容。

注释和message_references属于消息。

更好的方法是,使用简单的select语句从数据的单独数组中的每个表中接收数据,然后将它们放入一个数组中,并使用多个foreach来构建输出,或者使用一些复杂的sql来获取输出?

有一种观点:"添加新消息-您必须刷新整个缓存数据,而不是仅为新消息添加缓存-biakaveron Jun 11 at 19:17"

创建一个提要表和一个提要存储库类,系统的所有其他部分都使用它来创建提要项。

更新

你的评论模块会喜欢这样:

$feedRepository->Save($userId, 'comment', 
          "<a href='/users/view/$authorId'>$authorName</a>".
          " wrote a comment saying bla bla bla");

其中,$userId是获得注释的用户的id。'comment'是生成条目的模块。