代码之家  ›  专栏  ›  技术社区  ›  Brad

名为“media”的模型已获取/设置“medium”,如何关闭复数器

  •  2
  • Brad  · 技术社区  · 6 年前

    假设我有两个模型,media和mediadrivative。

    module.exports = (sequelize, DataTypes) => {
      const Media = sequelize.define('Media', {
        // fields
      });
    
      Media.associate = (models) => {
        Media.hasMany(models.MediaDerivative);
      };
    };
    

    module.exports = (sequelize, DataTypes) => {
      const MediaDerivative = sequelize.define('MediaDerivative', {
        // fields
      });
    
      MediaDerivative.associate = (models) => {
        MediaDerivative.belongsTo(models.Media);
      };
    };
    

    创建的表名为 Media MediaDerivatives 如预期。但是,helper在 MediaDerivative 实例命名如下:

    • createMedium
    • getMedium
    • setMedium

    如何配置我的模型以使它们命名 createMedia ,请 getMedia ,和 setMedia 是吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   approxiblue Ben Jackson    6 年前

    续用 node.inflection 在其复数/单数形式之间转换模型名称。

    如果你总是喜欢“媒体”而不是“媒体”,你可以 configure the model definition 所以单数形式也是“媒体”:

    const Media = sequelize.define('Media', attributes, {
      name: {
        singular: 'Media',
        plural: 'Media',
      }
    });