2013-04-08 48 views
5

Tôi muốn xóa một số dữ liệu như truy vấn này có nghĩa là trong PHP lõiMulti-Conditional mệnh đề WHERE trong CodeIgniter

WHERE user_id=$id AND sender_id=$send_id OR user_id=$send_id AND sender_id=$id 

Vì vậy, tôi đã thử nó trong CodeIgniter sử dụng Active Record như thế này:

$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); 

Nhưng nó cho tôi kết quả sai. Tôi đang làm gì sai?

Trả lời

9
$this->db->where(array('user_id' => $id, 'sender_id' => $send_id)); 
$this->db->or_where(array('user_id' => $send_id, 'sender_id' => $id)); 

Bạn muốn vượt qua một mảng kết hợp với nhau một, nơi mà nó sẽ sử dụng AND giữa mỗi phần tử trong mảng trong truy vấn, và sử dụng ->or_where() sẽ sử dụng một OR trong truy vấn. Thông tin thêm có sẵn trong documentation.

+1

nhờ cả answrs làm việc cho tôi i bt như thế này vì nó dễ hiểu. –

2

Hãy thử này

$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); 
Các vấn đề liên quan