可以:(條件1 AND條件2)OR(條件3 AND條件4)在codigniter?Codeigniter AND OR和
我嘗試:
$this->db->where(condition1 - condition2);
$this->db->or_where(condition3 - condition4);
但這是:(條件1和條件2)或(condition3 OR condition4)
可以:(條件1 AND條件2)OR(條件3 AND條件4)在codigniter?Codeigniter AND OR和
我嘗試:
$this->db->where(condition1 - condition2);
$this->db->or_where(condition3 - condition4);
但這是:(條件1和條件2)或(condition3 OR condition4)
剛寫出來你哪裏
這仍然會轉義數據,你不需要使用or_where方法。
你試過這樣的:::::?
$this->db->where(COND1);
$this->db->where(COND2);
$this->db->or_where(COND3);
$this->db->where(COND4);
只需使用普通的查詢,像這樣:
$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);
$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);
如果任何條件你正在使用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 ");
老實說,我不知道有對笨組查詢沒有直接的方式,直到我只是看着它。我一直在使用[Datamapper ORM](http://datamapper.wanwizard.eu/)進行配置,相當一段時間,有一天我會認爲你會喜歡它(並且分組子句很容易)。 –