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