自定义水线连接表



有一个存储所有可用语言的语言模型。语言:

attributes: {
    language: {
        type: 'string',
        required: true
    },
    combinations: {
        type: 'array'
    }
}

简历模型:

user: {
        model: 'User',
        required: true
    },
    language: {
        model:''
        required: false,
        through: 'resumelanguage'
    }

现在我需要把这两个链接在一起,这样一份简历就可以有一个语言的集合,这个链接应该有另一个属性;比如rank

我该怎么做?

如果你想简历有多种语言,你必须在它的模型中添加collection属性。

// /models/Resume.js
attributes {
    // Other attributes here
    user: {
        model: 'user',
        required: true
    },
    languages: {
        collection:'language',
        via: 'resume'
    }
};

现在如果你想要一个一对多的关系,语言模型必须有model属性

// /models/Language.js
attributes: {
    language: {
        type: 'string',
        required: true
    },
    combinations: {
        type: 'array'
    },
    resume : {
      model: 'resume'
    }
}

如果你想要一个多对多关系,语言模型也必须有collection属性

// /models/Language.js
attributes: {
    language: {
        type: 'string',
        required: true
    },
    combinations: {
        type: 'array'
    },
    resumes : {
      collection: 'resume',
      via: 'languages'
    }
}

—EDIT—

或者你可以在两个表的"链接"表(例如:languagerresume)上使用一对多关系。然后你可以给"link"表添加其他属性

// /models/LanguageResume.js
attributes: {
    languages: {
      collection: 'language',
      via: 'resumes'
    },
    resumes : {
      collection: 'resume',
      via: 'languages'
    },
    rank: {
        type: 'integer'
    },
}

相关内容

  • 没有找到相关文章

最新更新