【求助】user.create不能正常新增带openid的数据
来源:6-1 用户注册与Sequelize新增数据

皮皮酸胖胖
2020-02-06
现在遇到了一个问题
就是新增一个用户的时候,不能以我要求的字段去新增
根据要求应该是按照openid去新建一个用户
但是sql语句执行打印可以看出来 它只新增了一条默认数据
数据库字段看起来也没啥问题
没有大小写的typo
我又试了一下其他的 新增Like就是完全正常的
就是User新增的时候有问题。
麻烦大家帮我康康呜呜呜
一直被堵在这里没法继续了
谢谢!
2回答
-
皮皮酸胖胖
提问者
2020-02-10
我把create的命令换成了findOrCreate (条件是where: { openid })
想看看能不能解决这个问题
结果…(看上图)
findOrCreate的Sql语句分步走,可以看到:
到find这一步的时候openid这个条件还是被使用了的,但是到了create的时候 openid这个字段又凭空消失了 →_→ 只留下空空荡荡的default字段
而且sql到了create这一步的时候前面都会自己先打印一个0或者1,错误预警吗这是?
----
现在我另辟蹊径了:先新建一条数据(失败的那种 只有default values),然后拿到这条数据的id,然后手动update这条数据where:{id} 把openid和一些本该直接新建出来的字段更新进去
---
但是我还是想知道出现我这个问题的原因是啥
我的User model的create是被我怎么玩脱儿了的
拜托各位了,本小白挠的头都秃了
012020-02-14 -
皮皮酸胖胖
提问者
2020-02-06
补充一下
而且一旦我在model里要求了openid notNull
create的时候就会直接报错 notNull violation
但是新建之前 先打印openid出来发现都是有值、正常的!
也不知道为啥一直报null .... TAT
022020-02-10
相似问题