TP3.2框架中如何使用多个mysql函数 如FIND_IN_SET 和 !FIND_IN_SET

TP3.2框架中如何使用多个mysql函数 如FIND_IN_SET 和 !FIND_IN_SET

依然范儿特西
2021-07-08 / 0 评论 / 160 阅读 / 正在检测是否收录...

数据查询中可能会用到数据表中的多个字段去做匹配 可能会用到多个FIND_IN_SET 也可能需要拼接多个条件

$user_ids = [1,2,3]; //获取需要匹配的值
if ($user_ids ){
   foreach ($user_ids as $val){
     $map[] = " FIND_IN_SET($val,show_user_id) ";   
   }
}
$where['_string'] = implode(" OR ",$map);


# 预览sql效果:

WHERE
FIND_IN_SET('1', show_user_id)
OR FIND_IN_SET('2', show_user_id)
OR FIND_IN_SET(3, show_user_id)


但是如果我们想除了这个函数还有其他函数要使用的时候并且$where['_string']已经被使用的时候怎么拼接?


$where['_logic'] = 'or';//and 或者 OR 就是看你的需要 
$map['_string'] = " !FIND_IN_SET(4,show_user_id) "; 
$where['_complex'] = $map;

# 预览sql效果:

WHERE
     FIND_IN_SET('1', show_user_id)
     OR FIND_IN_SET('2', show_user_id)
     OR FIND_IN_SET(3, show_user_id)
AND (
    (
        !FIND_IN_SET(4, show_user_id) //就是与FIND_IN_SET相反的意思  
    )
)
1

评论 (0)

取消