FIND_IN_SET搜索的是以逗号分隔的字段,具体用法如下:
1、搜索时保持字段顺序不变
$order = "FIND_IN_SET(id,'1,3,15')";
$res = M('User')
->field('pid,nickname,img')
->where(['id'=>['in',$re_ids]])
->order($order)
->select();2、搜索GoodsOrder表中tag_id为29或者32的数据,注意:tab_id字段储存格式为'1,4,29,33,'
$where['_string'] = "FIND_IN_SET(29,tag_id) OR FIND_IN_SET(32,tag_id)";//tag_id为表的某个字段
$casher = M("GoodsOrder")->where($where)->select();3、tp5.1中的用法(all_shops为数据库中的字段(值为:1,3,16,22),aaa为随便起的变量名)
$where = new Where();
$where['roles'] = 'director';
$re = Db::name('admin')->where($where)->where('FIND_IN_SET(:aaa,all_shops)',['aaa' => 16])->find();