一、基本概念
public function whereIn(string $field, array $data, string $condition = 'OR'): this
其中:
- field:查詢的欄位名
- data:需要查詢的值數組
- condition:查詢條件,默認為or
該方法的作用是查詢數據表中某個欄位的值在一個數組範圍內的數據。這個介面最後返回的對象即是當前查詢的對象,可以在該對象上繼續進行其他查詢操作,例如where條件、order排序等查詢操作。
二、基本用法
以wherein查詢某個班級內多個學生的信息為例:
$data = ['小明', '小紅', '小剛'];
$students = Db::table('student')->whereIn('name', $data)->select();
上述代碼將查詢student表中name欄位為小明、小紅、小剛的所有記錄。
三、多條件查詢
在wherein方法中設置多個查詢條件,可以查詢同時滿足這些條件的數據。
$data = [
['age', '>', 18],
['province', '=', '廣東省']
];
$students = Db::table('student')->whereIn($data)->select();
上述代碼將查詢student表中同時滿足年齡大於18歲並且來自廣東省的所有學生記錄。
四、條件組合查詢
在實際開發中,我們經常需要進行複雜的查詢,例如實現以下查詢:
- 查詢學生信息中name欄位為小明、小紅或者小剛的記錄
- 查詢學生信息中性別為男且年齡大於18歲,或者性別為女且年齡大於16歲的所有記錄
對於以上兩個查詢,可以使用wherein方法來輕鬆實現,具體代碼如下:
// 查詢學生信息中name欄位為小明、小紅或者小剛的記錄
$data1 = ['小明', '小紅', '小剛'];
$students1 = Db::table('student')->whereIn('name', $data1)->select();
// 查詢學生信息中性別為男且年齡大於18歲,或者性別為女且年齡大於16歲的所有記錄
$data2 = [
['sex', '=', '男'],
['age', '>', 18]
];
$data3 = [
['sex', '=', '女'],
['age', '>', 16]
];
$students2 = Db::table('student')->whereIn($data2)->whereOr($data3)->select();
總結
在實際開發中,wherein方法是非常常用的查詢方式之一,通過對該方法的深入了解和靈活應用,可以有效地提高我們的開發效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283044.html