|
|
@ -348,9 +348,18 @@ class ResourceSharingService extends BaseApiService |
|
|
$resource_conditions[] = ['source_channel', 'like', '%' . $where['source_channel'] . '%']; |
|
|
$resource_conditions[] = ['source_channel', 'like', '%' . $where['source_channel'] . '%']; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 年龄查询 - varchar类型使用like查询,支持模糊匹配(如4可匹配4.1、4.12、14、24等) |
|
|
// 年龄查询 - 改进的模糊匹配,减少错误匹配(如4匹配4, 4.1, 4.12等,尽量减少5.4这种情况) |
|
|
if (isset($where['age']) && $where['age'] !== '' && $where['age'] !== null) { |
|
|
if (isset($where['age']) && $where['age'] !== '' && $where['age'] !== null) { |
|
|
$resource_conditions[] = ['age', 'like', '%' . trim($where['age']) . '%']; |
|
|
$searchAge = trim($where['age']); |
|
|
|
|
|
// 使用更精确的匹配条件:精确匹配、小数点开头、或者作为独立数字被分隔符包围 |
|
|
|
|
|
$resource_conditions[] = function($query) use ($searchAge) { |
|
|
|
|
|
$query->where('age', '=', $searchAge) |
|
|
|
|
|
->whereOr('age', 'like', $searchAge . '.%') |
|
|
|
|
|
->whereOr('age', 'like', '% ' . $searchAge . ' %') |
|
|
|
|
|
->whereOr('age', 'like', '%,' . $searchAge . ',%') |
|
|
|
|
|
->whereOr('age', 'like', $searchAge . ',%') |
|
|
|
|
|
->whereOr('age', 'like', '%,' . $searchAge); |
|
|
|
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 黑名单状态查询 |
|
|
// 黑名单状态查询 |
|
|
@ -992,9 +1001,18 @@ class ResourceSharingService extends BaseApiService |
|
|
$resource_conditions[] = ['source_channel', 'like', '%' . $where['source_channel'] . '%']; |
|
|
$resource_conditions[] = ['source_channel', 'like', '%' . $where['source_channel'] . '%']; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 年龄查询 - varchar类型使用like查询,支持模糊匹配(如4可匹配4.1、4.12、14、24等) |
|
|
// 年龄查询 - 改进的模糊匹配,减少错误匹配(如4匹配4, 4.1, 4.12等,尽量减少5.4这种情况) |
|
|
if (isset($where['age']) && $where['age'] !== '' && $where['age'] !== null) { |
|
|
if (isset($where['age']) && $where['age'] !== '' && $where['age'] !== null) { |
|
|
$resource_conditions[] = ['age', 'like', '%' . trim($where['age']) . '%']; |
|
|
$searchAge = trim($where['age']); |
|
|
|
|
|
// 使用更精确的匹配条件:精确匹配、小数点开头、或者作为独立数字被分隔符包围 |
|
|
|
|
|
$resource_conditions[] = function($query) use ($searchAge) { |
|
|
|
|
|
$query->where('age', '=', $searchAge) |
|
|
|
|
|
->whereOr('age', 'like', $searchAge . '.%') |
|
|
|
|
|
->whereOr('age', 'like', '% ' . $searchAge . ' %') |
|
|
|
|
|
->whereOr('age', 'like', '%,' . $searchAge . ',%') |
|
|
|
|
|
->whereOr('age', 'like', $searchAge . ',%') |
|
|
|
|
|
->whereOr('age', 'like', '%,' . $searchAge); |
|
|
|
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 黑名单状态查询 |
|
|
// 黑名单状态查询 |
|
|
|