首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
程序员
今天搞了老半天,最后发现是自己闹了个乌龙
ryanking8215
·
ryanking8215
·
2014-08-01 21:43:26 +08:00
· 4379 次点击
这是一个创建于 3720 天前的主题,其中的信息可能已经有所发展或是发生改变。
使用sequelizejs,是一个orm for nodejs,
在设置多对多关系后,例如A.hasMany(B), A的实例会自动得到getBs()的方法,这个名称是根据表名来的
问题在我的B表名是"binfo",使用getBinfos()老是说方法未定义。
然后把这2个表抽出来,单独作测试,不行,使用student-course例子,又是好的,不得其解。来来回回弄了好久,厕所去了几趟,最后发现表名结尾不为'o'的都好,为'o'的就不行,确认问题之后,把这个问题报给了sequelizejs。心想这个bug真奇葩...,于情于理都不应该。
晚上闲来无事,再拿出来log一下,发现方法竟然是getBinfoes(),原来sequelizejs在生成复数的时候,还考虑了英语语法,MD把这茶给忘了...
见:
https://github.com/sequelize/sequelize/issues/2106
复数
orm
Nodejs
3 条回复
•
2014-08-06 20:51:06 +08:00
1
zhxhwyzh14
2014-08-01 22:29:26 +08:00
啊哈哈
2
xieren58
2014-08-02 10:22:36 +08:00
knex.js
3
ryanking8215
OP
2014-08-06 20:51:06 +08:00 via iPad
Knexjs and bookshelfjs 比较灵活一点,api更合胃口,而且是bluebird,和目前的项目契合
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
739 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms ·
UTC 20:32
·
PVG 04:32
·
LAX 13:32
·
JFK 16:32
Developed with
CodeLauncher
♥ Do have faith in what you're doing.