按照官方手册,使用exp:
$where['status'] = 1;
$where['area']=['exp','FIND_IN_SET(1000, area)'];配合其他条件一起构建的查询语句居然是:AND `status` = 1 AND ( `area` FIND_IN_SET(81, area) )应该是下面的才是正确的:AND `status` = 1 AND FIND_IN_SET(81, area) 请问这是我没用对?还是TP5的BUG?按照这种方式?我使用正则表达式也没办法了?
找到TP框架 \thinkphp\library\think\db\Builder.php 第355行
$whereStr .= '( ' . $key . ' ' . $value . ' )';更改为:$whereStr .= '( ' . $value . ' )';就生成了正确的查询语句,难道只能这样吗??????????不想更改框架底层啊啊啊啊啊!!! 最佳答案