表达式动态获取每行指定字段内容问题
七五热 发布于9天前 2答/53阅

我的原始需求是:下拉框展示对应店面所拥有的数据(权限)


实现过程中遇到的问题:表达式强化,尝试着写

select id 班组ID, group_name 班组名称 from repair_group where shop_id = project.shop_id 

;ds=erp

希望变成这种sql:select id 班组ID, group_name 班组名称 from repair_group where shop_id = 'men851de83f10'

说明

where shop_id   :是表达式中的参数

project.shop_id :eova查询表的表名与字段

我觉得这个问题的原因是:

不能动态获取每行数据的指定字段,与之匹配



[沙发] 扫地僧
@七五热 
1.如果要查询得参数和登录用户是关联得,可以把关联得信息放到登录得user上,通过${user.shop_id}使用
2 参数是通过其他字段确定得 可以通过设置内置表达式 参考area.js 动态设置查询表达式和参数
[地板] 七五热
解决:
com.pro.global.MyUserSessionIntercept


用户登录拦截器
@Override
public void login(User user) {
// user数据结构: id, rid, 帐号, 登录源Record 如果登录源存在会自动续传的字段org_id, name

// 从登录源表获取信息()
Record data = user.getData();
data.getStr("phone");
String shop_id = data.getStr("shop_id");
user.put("shop_id", data.getStr("shop_id")); // 例如:手机号
System.out.println(shop_id);
}
我设置了个shop_id
使用方式:页面哪里设置表达式:
select id 班组ID, group_name 班组名称 from repair_group where shop_id ='${user.shop_id}'
;ds=erp
即可
提交评论