我想删除一些像核心PHP中的查询这样的数据
WHERE user_id=$id AND sender_id=$send_id OR user_id=$send_id AND sender_id=$id
所以我在CodeIgniter中尝试使用Active Record,如下所示:
$this->db->where('user_id ', $id);
$this->db->or_where('user_id ', $send_id);
$this->db->where('sender_id ', $send_id);
$this->db->or_where('sender_id ', $id);
但它给了我错误的结果。我做错了什么?
答案 0 :(得分:9)
$this->db->where(array('user_id' => $id, 'sender_id' => $send_id));
$this->db->or_where(array('user_id' => $send_id, 'sender_id' => $id));
您希望将关联数组传递给每个关联数组,在查询中数组中的每个元素之间使用AND
,并且使用->or_where()
将在查询中使用OR
。有关详细信息,请参阅documentation。
答案 1 :(得分:2)
试试这个
$this->db->where('user_id ', $id);
$this->db->where('sender_id ', $send_id);
$this->db->or_where('sender_id ', $id);
$this->db->where('user_id ', $send_id);