thinphp+mysql find_in_set 简单用法

问题

需要查询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 更新-----------
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值