2017-10-20 62 views
0

我這樣做是爲了建立一個查詢,並得到了「飛行」桌席在笨通過查詢生成器生成腓查詢構建器爲OR和AND條件

$this->load->database(); 
    $this->load->dbforge(); 
    $where = "seatsF>0 OR seatsB>0 OR seatsE>0"; 
    $this->db->where($where); 
    $this->db->where('approved', 1); 
    $query=$this->db->get("Flights"); 
    $result=$query->result_array(); 
    echo $this->db->last_query(); 
    die; 
    return $result; 

我當前查詢在PHP是

SELECT * FROM `Flights` WHERE `seatsF` >0 OR `seatsB` >0 OR `seatsE` >0 AND `approved` = 1 

但結果中包含的結果,其中「批准」 = 0還,我猜我的查詢做的是,它得到1 seatsF> 0,然後或地短路並返回true,它是不是真的檢查整個查詢。如何通過查詢構建器生成如下查詢: -

SELECT * FROM `Flights` WHERE `(seatsF` >0 OR `seatsB` >0 OR `seatsE` >0) AND `approved` = 1 
+0

不,這是不同的,我知道怎麼做的地方,只是困惑於「()」的東西。 – Asim

回答

2

您需要將OR包裝在()中。

$where = "(seatsF>0 OR seatsB>0 OR seatsE>0)"; 
+0

不能相信這是一件很簡單的事情。非常感謝。 – Asim