本帖最后由 Tate_Young 于 2016-12-28 11:00 编辑 需求分解:信息技术部研发工程师能看到本部门的信息。 解决方案:在sql中运用$fr_userposition进行筛选,以下两种语句有错吗,应该怎么写,我尝试用研发工程师账号登陆但是无效: 1、 select * from a where 1=1 ${ if(find("{'departments':'信息技术部','jobTitle':'研发工程师'}",$fr_userposition)!=0,"and dept_name = '信息技术部'", "")} 修改,直接把$fr_userposition当做字符串判断来用:$(if{ find('研发工程师',$fr_userposition) <> 0,"and dept_name = '信息技术部'","" }) 2、 select * from a where 1=1${ if(GETUSERDEPARTMENTS()='信息技术部' && GETUSERJOBTITLES()='研发工程师',"and dept_name = '信息技术部'", "")} 欢迎解答,谢谢了。 可以了,第一种方法应该是因为对象无法通过字符串的方法来比较,所以find无效。 第二种方法是可以的,可能是之前测试时候传入的部门和职位字段有问题,谢谢大家了。 不,第二种还有问题,根本就没有筛选,所有部门筛选出来都是信息技术部,sql上应该怎么使用这个函数呢。 |
0
|
|
|||
0
|
|
|||
0
|
|
|||
0
|
|
|||
0
|
|
|||
0
|
|
|||
0
|
|