首页 新闻 会员 周边 捐助

多值属性修改

0
悬赏园豆:20 [已解决问题] 解决于 2016-03-24 16:49

假设一个用户信息,有多个联系人,爱好,电话等,这些属性都是可以多个的,怎么实现修改功能,难道每次都要先把所有这些属性值都删除,然后重新添加不成?

旅行中的主页 旅行中 | 初学一级 | 园豆:122
提问于:2016-03-24 10:10
< >
分享
最佳答案
0

简单处理就全部删掉再写一次,复杂处理就是把旧的数据取出来,跟新的数据对比,如果旧的有,新的没有,就删除,如果新的有,旧的没有,就新增,都有,就不用处理。

收获园豆:10
I,Robot | 大侠五级 |园豆:9783 | 2016-03-24 12:10

 @I,Robot:恩,就简单处理了,全部删除,再添加,只不过对多个多值属性加了个修改掩码,业务层调用时,如果只修改爱好,就传递UpdateMask.Hobby,防止把联系人,电话这些属性也一起修改了。

旅行中 | 园豆:122 (初学一级) | 2016-03-24 14:25
其他回答(3)
0

并不难解决啊。 有一对多的 数据表。

藏红 | 园豆:209 (菜鸟二级) | 2016-03-24 10:18

是这样,只是说修改用户信息的时候,这些多值属性都要在“多”那张表里删除,再添加,这样会不会很不好,可能我只需要修改爱好,而不用修改联系人,电话等

支持(0) 反对(0) 旅行中 | 园豆:122 (初学一级) | 2016-03-24 10:23
0

每一项以一种数据格式存进去就行,   联系人  [ 张三,李四,王五]      爱好   [打球,跑步,唱歌 ] ……  ,如果这些选项是可变的不是填写的建议存取选项ID比较好。

js拼接即可,以特定的方式存进去,以特定的方式截取取出来用就行,或者可以存成Json的格式,这样序列化取出来用也是很方便的。

收获园豆:10
大楚打码人 | 园豆:4313 (老鸟四级) | 2016-03-24 10:26

这些多值属性会做查询条件和统计用,这种方式不好吧

支持(0) 反对(0) 旅行中 | 园豆:122 (初学一级) | 2016-03-24 10:32

@旅行中: 那目前依在下愚见,只能以拼接ID的方式存取比较好点额,查询的时候只能是按  爱好串儿是否contains  ,输入关键词匹配的ID进行查询统计呢!

支持(0) 反对(0) 大楚打码人 | 园豆:4313 (老鸟四级) | 2016-03-24 10:37

@贫民窟大侠: 我最开始也是分隔符分开,但后面需求改了,需要做关联查询和统计,而且多值属性每一项是复合属性了。。。。

支持(0) 反对(0) 旅行中 | 园豆:122 (初学一级) | 2016-03-24 10:48

@旅行中: 知道这个需求我一开始是拒绝的!一起等大神出现给出建议信的解决方案。

支持(0) 反对(0) 大楚打码人 | 园豆:4313 (老鸟四级) | 2016-03-24 11:46
0

可以啊,都省了修改流程了

刘宏玺 | 园豆:14020 (专家六级) | 2016-03-24 12:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册