不同的業務場景,會需要不同的數據內容,在使用tp5框架進行開發生產的時候,會面臨各種各樣的數據組合,在我們使用內置的數據庫查詢類進行編寫查詢語句的時候,有很多不常用的查詢鏈式操作不知道怎么寫,今天就簡單的記錄一下
首先就是最常用的基本鏈式查詢
在TP5中,鏈式查詢是一種常用的查詢方式,它允許你在一個查詢中連續使用多個查詢方法。以下是TP5中鏈式查詢的常用方式:
使用where方法進行條件篩選:
$result = Db::table('table_name')
->where('column1', '=', $value1)
->where('column2', '=', $value2)
->select();
這里是針對固定的查詢提交進行查詢,但是常常有很多的查詢條件是根據前臺的傳參來制定查詢條件的,這里的話就沒有辦法這樣寫where條件了, 所以我們這里會用到制定條件數組$where來進行復雜的查詢操作
我們可以使用數組方式批量設置查詢條件
$where = [
['column1', '=', $value1],
['column2', '=', $value2]
];
$result = Db::table('table_name')
->where($where)
->select();
在這個例子中,$where 是一個包含多個查詢條件的數組。每個條件是一個包含三個元素的數組,第一個元素是列名,第二個元素是比較運算符,第三個元素是比較值。然后,通過 where 方法將這個數組作為查詢條件傳入查詢中。
還有一些特殊操作,例如批量查詢條件中篩選是null的或者不是null的,這種特殊的查詢寫起來就更加的復雜一些,我們通過exp來實現is null的查詢條件
$where['field_name'] = array('exp','is null');
通過這種寫法就可以組合查詢其他的條件來獲取我們需要的查詢結果