2013-04-08 1 views
5

Je veux supprimer certaines données telles que cette requête est en PHP de baseMulti-conditionnel clause where CodeIgniter

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

Alors je l'ai essayé en CodeIgniter utilisant Active Record comme ceci:

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

Mais cela me donne le mauvais résultat. Qu'est-ce que je fais mal?

Répondre

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

Vous voulez passer un tableau à chacun, où il utilisera AND entre chaque élément dans le tableau dans la requête, et en utilisant le ->or_where() utilisera un OR dans la requête. Plus d'informations sont disponibles dans le documentation.

+1

grâce à la fois answrs fonctionne pour moi bt j'aime celui-ci car il est facile à comprendre. –

2

Essayez cette

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