你好,知识渊博的部落。这里很新,试图写一个简单的“朋友”查询。我已经搜索了 SO 基础,无法从其他问题/解决方案中得到答案。
我有两个看似标准的表,一个用于 id/firstname/lastname 等的成员资格,另一个用于 id/inviter_id/friend_id/status 的友谊表。我选择(任意)将友谊结构为每个关系一行而不是每个关系两行。(似乎这个问题每两行会更容易/不存在,但感觉它会导致其他问题,如果可能的话,想用一个来解决它。)
我正在尝试为所有与当前用户成为朋友的人返回一个名字/姓氏数组,并且大部分成功,除了我还为每个查找列出了用户本人,因此 8 行包括当前用户的 4 个,例如这是我的codeigniter查询:
$id = $this->session->userdata('id');
$this->db->select('first_name, last_name')->from("members");
$this->db->join('friendship', 'friendship.id_inviter = members.id OR friendship.id_friend = members.id');
$where1 = "friendship.status = 'accepted' AND friendship.id_friend = $id";
$where2 = "friendship.status = 'accepted' AND friendship.id_inviter = $id";
$this->db->where($where1);
$this->db->or_where($where2);
$query = $this->db->get();
return $query;
我想这是我看不到的优雅技巧。有什么想法吗?提前致谢。