batchSave问题

image.png

请问parasNoUse 这个参数的作用是什么?



评论区

macaque

2019-07-10 11:21

JFinal

2019-07-10 11:31

Dialect.forModelSave(...) 方法是用来为 Model.save() 生成 sql + para 的

而 batchSave 方法可以重用这个方法,但是并不需要生成 para,所以这个参数是为了重用 来生成 sql,但不能缺少参数而提供的

JFinal

2019-07-10 11:32

你可以认为两个地方重用同一个逻辑,引入了一个适配性的参数

macaque

2019-07-10 13:15

batchSave batchUpdate,当model里包含表结构不存在的属性时 报错,无法批量保存或更新,是不是把不是字段的属性过滤下好呢?

JFinal

2019-07-10 16:07

@macaque 使用 model.keep 或者 model.remove 可以过滤一下

站在 jfinal 框架的角度不好过滤, 因为 jfinal 无法知道你哪些字段是想要的,哪些是不想要的

macaque

2019-07-11 09:17

@JFinal 一个业务场景,为了给前端返回json中一些表中不存在的字段,model重写了_getAttrs()方法,加了些字定义转换的属性,(因为jfinaljson不走get,所以重写_getAttrs()),这样的话,对这个model进行batchSave或batchUpdate时候 因为有表结构不存在的属性,无法使用

JFinal

2019-07-12 10:03

@macaque 这个问题在俱乐部 qq 里头我好像帮你解决了,期待你回来稍微贴一点点解决的代码或者方法,谢谢

macaque

2019-07-12 15:25

@JFinal 啊?没注意到QQ里有回复啊。。。找不到了