在 CodeIgniter 中對 WHERE 子句進行分組
CodeIgniter 提供了使用 Active Record 構建 SQL 查詢的便捷方法。對於複雜的查詢,為了清晰和準確,有時需要將 WHERE 子句分組。
問題:
考慮以下SQL 程式碼:
直接將其轉換為CodeIgniter 的Active Record 語法,我們get:
但是,此查詢無法正確地將子條款與括號分組。
解決方案:
使用括號將WHERE 子句分組在CodeIgniter 中,使用group_start() 和group_end() 方法,如下所示:
此查詢將產生所需的SQL程式碼,並將子條款括在括號中。
複雜查詢的注意事項:
中CodeIgniter 3 中,group_start() 和group_end() 方法在資料庫建構器中可用,可透過以下方式存取$ this->db.在CodeIgniter 4 中,它們在查詢建構器中可用,該查詢建構器被指派給$builder等變數。
在複雜查詢中使用多個 OR 子句時,請考慮使用 groupStart() 和 groupEnd() 方法確保操作員以正確的順序進行評估。這可確保查詢產生預期結果。
以上是如何在 CodeIgniter 中將 WHERE 子句分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!