问题
需要查询filter_id_au 字段中包含这 10,11,12,13,14中的数据 只要包含一个即可
核心代码
/**
* category filter的条件
* filter_ids_au
*/
public function filterWhere()
{
$ids_arr = []; //find_in_set
$ids_str = '';
// $params = Request::only(['a', "b", "b", "b", "b"]);
$params = range(5, 10);
foreach ($params as $row) {
if ($row == '') continue;
$ids_arr[] = "FIND_IN_SET($row,`filter_id_au`)";
}
if (!empty($ids_arr)) {
$ids_str = implode(' or ', $ids_arr);
}
dd($ids_arr);
return $ids_str;
}
生成后的语句
这里需要注意
` 不是’
键盘中数字1左边的那个字符
$ids_arr[] = "FIND_IN_SET($row,`filter_id_au`)";
FIND_IN_SET(5,`filter_id_au`) or FIND_IN_SET(6,`filter_id_au`) or FIND_IN_SET(7,`filter_id_au`) or FIND_IN_SET(8,`filter_id_au`) or FIND_IN_SET(9,`filter_id_au`) or FIND_IN_SET(10,`filter_id_au`)
----------------2022/7/11 更新-----------