使用分页查询时如何优雅的过滤掉activeRecord中敏感信息?如下图,求解

image.png

评论区

巨轮深港啊

2019-12-07 11:10

使用遍历一个个去太粗暴了 ..求一种优雅的解法

JFinal

2019-12-07 11:19

@巨轮深港啊 最优雅的方式是分页 sql 中的 select 子句不要用 select * , 而是要用 select x, y, ...,z 这样具体的字段

巨轮深港啊

2019-12-07 11:19

巨轮深港啊

2019-12-07 11:30

@JFinal 因为敏感字段总是少的而且各表敏感字段基本一致,所以我封装了一个公共查询的方法,
用 model._getAttrNames()获取Model的所有属性名然后排除掉敏感字段,
分页查询时只传入经过排除处理的字段,
然而调用model._getAttrNames()报错:
dao 只允许调用查询方法

巨轮深港啊

2019-12-07 11:31

@JFinal 是因为model._getAttrNames()这个方法里面除了查询还有别的操作吗

JFinal

2019-12-07 11:38

@巨轮深港啊 model.remove(....) 或者 model.keep(...),例如:
model.remove("create_by", "del_flag", "update_time", ...);

热门反馈

扫码入社