V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ryanking8215
V2EX  ›  程序员

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

  •  
  •   ryanking8215 ·
    ryanking8215 · Aug 1, 2014 · 4888 views
    This topic created in 4292 days ago, the information mentioned may be changed or developed.
    使用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
    3 replies    2014-08-06 20:51:06 +08:00
    zhxhwyzh14
        1
    zhxhwyzh14  
       Aug 1, 2014
    啊哈哈
    xieren58
        2
    xieren58  
       Aug 2, 2014
    knex.js
    ryanking8215
        3
    ryanking8215  
    OP
       Aug 6, 2014 via iPad
    Knexjs and bookshelfjs 比较灵活一点,api更合胃口,而且是bluebird,和目前的项目契合
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2507 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:43 · PVG 14:43 · LAX 23:43 · JFK 02:43
    ♥ Do have faith in what you're doing.