使用的treelayer()函数,结果返回完成层次路径,${if(len(tree_workshop)=0,"","and device in ("+"'"+treelayer(tree_workshop,true,"\',\'")+"'"+")")}
,结果返回值为('AA", "BB","CC')这样的值,中间的返回值","导致报错,怎么改为','呢
${if(len(tree_workshop)=0,"","and device in ("+"'"+replace(treelayer(tree_workshop,true,"\',\'"),'"',"'")+"'"+")")}
修改treelayer的第三个参数,将 "\',\'" 改为 "','"(去掉反斜杠转义)
select * from table
where 1=1
${if(len(tree_workshop)=0,"","and device in ('"+treelayer(tree_workshop,true,"','")+"')")}
treelayer($tree, 2, true, "\',\'") → "值1','值2"