供参考,这里有一个我最近在SO上提出的问题与这个问题相关:如何建模友谊关系
在那个问题中,我们找到了一种方法只显示朋友发布的新闻动态。然而,我需要的是如何以更加动态的方式检查是否为好友,以便在整个网站功能中使用。
例如,我刚刚安装了评论系统,允许用户在新闻文章上发表评论。然而,这并不限于朋友,而应该是(后来应由帖子作者选择是否)可选的。
仅由好友发布新闻略有不同,因为我是直接从数据库获取数据,并使用SELECT
子查询仅获取当前用户的好友发布的帖子。但是,在评论示例中,我只想在该人是好友时显示评论帖子表单。我实际上没有从数据库中提取任何内容进行选择、排序和显示。
知道这样的问题会在整个站点中多次出现,那么检查是否为好友的最简单方法是什么?我能否以某种方式从数据库中提取所有好友的用户ID到一个会话数组中,然后在需要确定所询问的人是否为当前登录用户的好友时执行 if(in_array($friends))
?我一时想不出有什么问题,但我想先听听您的意见。
我上面链接的问题解释了我的友谊表是如何工作的,以防这能帮助您帮助我。
MY_DATA_ACCESS_LAYER.IS_FRIEND(my_id, other_id)
-- 使用数据库。热爱数据库。以后再考虑“其他事情”。(一个微不足道的扩展是一次性处理多个ID;关键是:如果它被隐藏在DAL中,那么它就不重要了,而且当-但实际上如果性能是个问题时,有许多方法来解决它。) - user166390MY_DATA_ACCESS_LAYER.IS_FRIEND(my_id, other_id)
到底是什么,我该如何使用它?您能提供一个例子吗? - vertigoelectric