今天搞了老半天,最后发现是自己闹了个乌龙

2014-08-01 21:43:26 +08:00
 ryanking8215
使用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
4401 次点击
所在节点    程序员
3 条回复
zhxhwyzh14
2014-08-01 22:29:26 +08:00
啊哈哈
xieren58
2014-08-02 10:22:36 +08:00
knex.js
ryanking8215
2014-08-06 20:51:06 +08:00
Knexjs and bookshelfjs 比较灵活一点,api更合胃口,而且是bluebird,和目前的项目契合

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX