在ThinkPHP6中,可以通過以下方式實現一個字段對數組中的多個值進行LIKE模糊查詢(OR邏輯):
1,使用數組形式的where條件,通過第三個參數指定邏輯關系:
$where[] = ['字段名', 'like', ['%值1%', '%值2%'], 'or'];
2,使用_logic參數設置OR邏輯關系:
$where = [['title', 'like', '%Think%'],['title', 'like', '%PHP%'],'_logic' => 'OR'
];
3,使用閉包函數結合whereOr實現:
Db::name('table')->where(function($query) {$query->whereOr([['field', 'like', '%value1%'],['field', 'like', '%value2%']]);
})->select();
4,多字段模糊查詢時可用豎線|分隔字段名:
$where['field1|field2'] = ['like', '%keyword%'];