1
我遇到一些問題越來越笨的活動記錄,產生這樣的查詢:如何編寫一個查詢中的CodeIgniter的Active Record
SELECT fruits.* FROM fruits
WHERE fruits.color = 'red'
AND (fruits.size = 'medium' OR fruits.name = 'kiwi' OR fruits.length = 7);
基本上我想有幾個或條款,但一個where子句是始終強制執行。
$this->db->select('fruits.*');
$this->db->from('fruits');
$this->db->where('fruits.color', 'red');
$this->db->or_where('fruits.size', 'medium');
$this->db->or_where('fruits.name', 'kiwi');
$this->db->or_where('fruits.length', 7);
可生產類似:
SELECT fruits.* FROM fruits WHERE fruits.color = 'red' OR fruits.size = 'medium' OR fruits.name = 'kiwi' OR fruits.length = 7;
我需要強制執行,顏色是總是紅色。
有一個體面的方式來做到這一點?
呀,這是我想通。不幸的是我的實際查詢有一堆的or_where_in而不僅僅是or_where ....所以,如果我建立一個自定義字符串,在那裏我還不如直接寫在原始SQL整個查詢在這一點上:/ 感謝您的輸入。 – Anon 2010-06-21 22:38:28
這是CodeIgniter的一個缺點,尤其是現在我使用純粹的OOP Yii,我更加註意到它。 否則解決方案是創建自己的函數來處理這個問題,或者覆蓋db類。 – Weboide 2010-06-21 22:49:29