匹配两列并使用php从mysql获取非匹配列值

时间:2015-04-18 09:55:22

标签: php mysql codeigniter

我有两个表格userfriend_request,我在user_id表中使用friend request插入好友请求,其中2列{{1} (发送请求的人)和sender_id(接收请求的人)

现在问题从这里开始我想从receiver_iduser表中获取所有记录,我正在使用join。如果friend_request = {{1},我想从friend_request session_id = sender_idsession_id = receiver_id得到记录。我的session_id是真的,如果sender_id = receiver_id是真的,那么session_id

下面是我尝试过的代码,这是不对的我知道...请更正此mysql查询

receiver_id

1 个答案:

答案 0 :(得分:1)

不幸的是,CodeIgniters本机活动记录类不支持UNION SQL命令,这是我认为您尝试使用的命令。

一个解决方案,(虽然它在性能方面效率不高)将是这样的:

$this->db->select('receiver_ID as friendID')
       ->WHERE('sender_id',$id)
       ->get('friend_request');
$q1 = $this->db->last_query();

$this->db->select('sender_ID as friendID')
       ->WHERE('receiver_id',$id)
       ->get('friend_request');
$q2 = $this->db->last_query();

return $this->db->query($q1 . " UNION " . $q2)->result_array();