5.0.0 - 普通 - 已关闭
$subQuery = Db::table('user_field_dict')
->field('field_id')
->where('field_id|parent_field', $fieldID)
->buildSql();
$where = ['is_show' => 1,
'user_status' => ['neq', 0],
'user_list.type_id' => $typeID,
'field_id' => ['in', $subQuery]];
$userList = $this->db()
->field('user_name,real_name,unit_name,title_name')
->join('unit_list', 'user_list.unit_id=unit_list.unit_id', 'LEFT')
->join('user_title_dict', 'user_list.title_id=user_title_dict.title_id', 'LEFT')
->where($where)
->order('convert(real_name using gbk) asc')
->select();这段代码生成的SQL语句为 SELECT `user_name`,`real_name`,`unit_name`,`title_name` FROM `user_list` LEFT JOIN `unit_list` `unit_list` ON `user_list`.`unit_id`=`unit_list`.`unit_id` LEFT JOIN `user_title_dict` `user_title_dict` ON `user_list`.`title_id`=`user_title_dict`.`title_id` WHERE `is_show` = 1 AND `user_status` <> 0 AND `user_list`.`type_id` = 1 AND `field_id` IN (0) ORDER BY convert(real_name using gbk) asc 可以看到`field_id` IN (0)部分子查询$subQuery并未能解析加入where的查询条件,在thinkPHP5.03及之前版本均无子问题,该段代码可以正常执行,请问是5.04对where语句的解析方式变化了还是解析出现的bug 