Codeigniter AND OR AND

Это можно сделать: (условие 1 И условие2) ИЛИ (условие 3 И условие4) в codigniter?

Я попробую:

$this->db->where(condition1 - condition2); $this->db->or_where(condition3 - condition4); 

Но это: (условие1 И условие2) ИЛИ (условие3 ИЛИ условие4)

Solutions Collecting From Web of "Codeigniter AND OR AND"

Просто напишите в своем

 $this->db->where("(condition1 AND condition2) OR (condition3 AND condition4)"); 

это все равно позволит избежать данных, и вам не нужно обманывать метод or_where.

Вы пробовали вот так ::::?

 $this->db->where(COND1); $this->db->where(COND2); $this->db->or_where(COND3); $this->db->where(COND4); 
 $first="(COND1 AND COND2)"; $second= "(COND3 AND COND4)"; $query=$this->db->where($first)->or_where($second)->get(); 

да, для удобства можно использовать любые условия, которые вы хотите использовать в одной переменной

 $where ="(condition 1 AND condition2) OR (condition3 AND condition4)"; $this->db->where($where); 

Просто используйте обычный запрос:

 $query="SELECT * FROM table1 INNER JOIN table2 on table1.col=table2.col WHERE (table1.whatever=? AND table1.hello=?) OR (table2.foo=? AND table2.pizza=?) LIMIT 1"; $params=array(); $params[]='whatever'; $params[]='world'; $params[]='bar'; $params[]='cheese'; $result=$this->db->query($query,$params); $result=$result->result_array(); print_r($result); от $query="SELECT * FROM table1 INNER JOIN table2 on table1.col=table2.col WHERE (table1.whatever=? AND table1.hello=?) OR (table2.foo=? AND table2.pizza=?) LIMIT 1"; $params=array(); $params[]='whatever'; $params[]='world'; $params[]='bar'; $params[]='cheese'; $result=$this->db->query($query,$params); $result=$result->result_array(); print_r($result); 

Если вы используете PHP5, то следующий код исправит вашу проблему.

 $this->db->select("*") ->where("condition_1 && condition_2") ->or_where("condition_3 && condition_4"); 

Или использовать следующий код также будет работать.

 $this->db->where("condition_1 "); $this->db->where("condition_2"); $this->db->or_where("condition_3 "); $this->db->where("condition_4 ");